{"data":{"id":"68","slug":"fantasy-mmo-city-and-townsfolk","title":"Fantasy MMO city market quarter","summary":"Walk a 56 metre walled city quarter from the Fantasy MMO City and Townsfolk pack: a 24 metre market plaza with a fountain and awned stalls, shopfronts on all four sides, a 24 metre mage tower, a canal quay, and townsfolk at work.","url":"https://3dassets.dev/demos/fantasy-mmo-city-and-townsfolk","coverUrl":"https://cdn.3dassets.dev/media/fantasy-mmo-city-and-townsfolk-demo.png","featured":false,"pack":{"slug":"fantasy-mmo-city-and-townsfolk","title":"Fantasy MMO City And Townsfolk","url":"https://3dassets.dev/packs/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.","assetCount":87,"totalBytes":96710292,"starterScene":{"slug":"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","fileSize":14417952}},"placementCount":420,"assetCount":47,"spawn":{"position":[-2,0,23],"yaw":180},"publishedAt":"2026-09-08T13:33:04.918Z","updatedAt":"2026-09-08T13:33:04.918Z","description":"A walled market quarter laid out from 47 of the pack's 87 models, on the pack's own paving under the outdoor preset with a warm low sun. The quarter is 56 m square inside a closed curtain wall, and the loop from the gate round the ring road and back takes under two minutes.\n\nYou arrive under the great gatehouse in the south wall and walk up the main street between two rows of awned market stalls. The plaza opens ahead with the fountain at its centre, the well, a notice board, a trade sign, pennant poles, eight more stalls, crate stacks, sack piles, barrels and planters. A ring road runs round the square with a lane off each side: east past the smithy yard and its anvils and quench troughs, west out to the postern gate in the wall, and north down to the canal.\n\nThe four sides are closed by the wall itself, its four corner towers and nine buildings turned to face in: a fletcher, a bakery and an apothecary along the south, the arcane mage tower and a second fletcher on the west, a smithy and an apothecary on the east, and a bakery and an apothecary along the north. Repeating a shopfront is deliberate. A demo downloads each distinct model once, so the budget is spent on the models you can walk up to rather than on eighteen different shells.\n\n**What moves.** The gatehouse lifts its portcullis and swings both leaves, and the postern bay opens. The mage tower turns the crystal at its crown, the smithy pumps its bellows, the bakery works its awning and its door, the apothecary and the fletcher open their doors, trade signs and pennants sway, stall canopies and crate lids open, and the hand carts roll their wheels. The figures are rigid jointed puppets driven by node transforms alone: heads turn, arms swing, weapons raise and the wolf and the rat flick their tails. There is no skeleton and no skinning anywhere in the pack, so fingers, faces, hair and cloth do not move.\n\n**What is scenery.** Upper storeys, wall walks, tower tops and roofs cannot be reached. A demo visitor walks one flat level at eye height with no stairs and no jumping, so everything above the street is there to be looked at, and the buildings are closed shells that are not entered. The cathedral, town hall, guild hall, tavern, inn, bank, auction house, barracks, general store, tailor, cartographer, alchemist and dock warehouse are in the pack but are not placed here, and neither are its four large composed scenes: on a page a browser has to download, the weight goes on the street.","scene":{"version":1,"spawn":{"position":[-2,0,23],"yaw":180},"bounds":{"min":[-29,-1.5,-29],"max":[29,26,29]},"ground":{"style":"none"},"environment":{"preset":"outdoor","floor":"#8f8a76","light":"warm","shadows":true},"placements":[{"asset":"fantasy-mmo-city-and-townsfolk-wall-corner-tower-46fd417b","position":[-28,0,-28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-wall-corner-tower-46fd417b","position":[-28,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-wall-corner-tower-46fd417b","position":[28,0,-28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-wall-corner-tower-46fd417b","position":[28,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-24,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-24,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,-24],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,-24],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-20,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-20,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,-20],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,-20],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-16,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-16,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,-16],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,-16],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-12,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-12,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,-12],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,-12],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-8,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-8,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,-8],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,-8],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-4,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,-4],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-wall-postern-bay-79414eed","position":[-28,0,-4],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[0,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,0],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,0],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[4,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[4,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,4],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,4],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[8,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[8,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,8],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,8],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[12,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[12,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,12],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,12],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[16,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[16,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,16],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,16],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[20,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[20,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,20],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,20],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[24,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[24,0,-28],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[28,0,24],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","position":[-28,0,24],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-city-gatehouse-6af8de89","position":[-2,0,28],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","position":[-8,-0.19,-8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","position":[-8,-0.19,0],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","position":[-8,-0.19,8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","position":[0,-0.19,-8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","position":[0,-0.19,0],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","position":[0,-0.19,8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","position":[8,-0.19,-8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","position":[8,-0.19,0],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","position":[8,-0.19,8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-14,-0.17,-10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[14,-0.17,-10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-14,-0.17,-6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[14,-0.17,-6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-14,-0.17,-2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[14,-0.17,-2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-14,-0.17,2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[14,-0.17,2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-14,-0.17,6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[14,-0.17,6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-14,-0.17,10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[14,-0.17,10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-10,-0.17,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-10,-0.17,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-6,-0.17,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-6,-0.17,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[2,-0.17,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[2,-0.17,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[6,-0.17,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[6,-0.17,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[10,-0.17,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[10,-0.17,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-junction-tile-5802f611","position":[-2,-0.28,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-junction-tile-5802f611","position":[-2,-0.28,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-corner-tile-2d0d8192","position":[-14,-0.36,-14],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-street-corner-tile-2d0d8192","position":[-14,-0.36,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-corner-tile-2d0d8192","position":[14,-0.36,-14],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-street-corner-tile-2d0d8192","position":[14,-0.36,14],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-6,-0.17,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-6,-0.17,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-6,-0.17,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-2,-0.17,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-2,-0.17,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-2,-0.17,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[2,-0.17,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[2,-0.17,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[2,-0.17,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-6,-0.17,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-6,-0.17,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-2,-0.17,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-2,-0.17,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[2,-0.17,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[2,-0.17,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-18,-0.17,-2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-18,-0.17,-6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-22,-0.17,-2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-22,-0.17,-6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-26,-0.17,-2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[-26,-0.17,-6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[18,-0.17,-2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[18,-0.17,2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[22,-0.17,-2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[22,-0.17,2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[26,-0.17,-2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","position":[26,-0.17,2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-canal-bank-tile-4bb312da","position":[-18,-1.42,-26],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-canal-water-tile-e734a5d8","position":[-14,-1.42,-26],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-canal-water-tile-e734a5d8","position":[-10,-1.42,-26],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-canal-bank-tile-4bb312da","position":[-6,-1.42,-26],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,-26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,-10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-26,-0.19,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,-26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,-10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-22,-0.19,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-18,-0.19,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-18,-0.19,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-18,-0.19,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-18,-0.19,-10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-18,-0.19,2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-18,-0.19,6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-18,-0.19,10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-18,-0.19,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-18,-0.19,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-18,-0.19,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-18,-0.19,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-14,-0.19,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-14,-0.19,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-14,-0.19,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-14,-0.19,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-14,-0.19,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-10,-0.19,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-10,-0.19,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-10,-0.19,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-10,-0.19,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-10,-0.19,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[-2,-0.19,-26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[2,-0.19,-26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[6,-0.19,-26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[6,-0.19,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[6,-0.19,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[6,-0.19,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[6,-0.19,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[6,-0.19,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[10,-0.19,-26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[10,-0.19,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[10,-0.19,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[10,-0.19,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[10,-0.19,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[10,-0.19,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[14,-0.19,-26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[14,-0.19,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[14,-0.19,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[14,-0.19,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[14,-0.19,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[14,-0.19,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,-26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,-10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,-6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[18,-0.19,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,-26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,-10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,-6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[22,-0.19,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,-26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,-22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,-18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,-14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,-10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,-6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,10],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,14],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,18],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","position":[26,-0.19,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-city-bakery-c5db5aec","position":[8,0,21.5],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-apothecary-shop-922c13d1","position":[19.5,0,21.5],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-fletcher-bowyer-shop-a02d4803","position":[-14,0,21.5],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-arcane-mage-tower-3270d276","position":[-21.5,0,8],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-fletcher-bowyer-shop-a02d4803","position":[-21.5,0,-14.6],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-city-smithy-d8883eff","position":[22.5,0,9.5],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-apothecary-shop-922c13d1","position":[22,0,-8.5],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-city-bakery-c5db5aec","position":[9,0,-21.5],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-apothecary-shop-922c13d1","position":[22.6,0,-20.5],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-plaza-fountain-9b482127","position":[0,0,0],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-city-well-4a25c00a","position":[-10.4,0,2.4],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-notice-board-fb05c69d","position":[10.4,0,-2.4],"rotation":250},{"asset":"fantasy-mmo-city-and-townsfolk-trade-sign-post-8667d4a9","position":[10.4,0,4.4],"rotation":200},{"asset":"fantasy-mmo-city-and-townsfolk-pennant-pole-27a7745f","position":[-10.6,0,10.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-pennant-pole-27a7745f","position":[10.6,0,10.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-pennant-pole-27a7745f","position":[-10.6,0,-10.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-pennant-pole-27a7745f","position":[10.6,0,-10.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-city-broadleaf-tree-0328372c","position":[-17.9,0,-21.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-city-broadleaf-tree-0328372c","position":[-23.9,0,-21.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-city-broadleaf-tree-0328372c","position":[0.6,0,-20.3],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-city-broadleaf-tree-0328372c","position":[-24.3,0,15.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-city-broadleaf-tree-0328372c","position":[16,0,-21.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-city-broadleaf-tree-0328372c","position":[-14,0,15.1],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-city-broadleaf-tree-0328372c","position":[-24.4,0,0],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-city-broadleaf-tree-0328372c","position":[7.4,0,11.9],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[-19.5,0,25.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[24.8,0,22.9],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[-17.8,0,13.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[17.8,0,-13.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[-21.8,0,25.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[24.8,0,17.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[-16.6,0,-17.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[16.5,0,15.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[-12.6,0,-17.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[11.8,0,14.7],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[-25.8,0,19.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","position":[24.6,0,20.1],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[-4.4,0,6.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[4.4,0,6.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[-4.4,0,-6.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[4.4,0,-6.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[-6.4,0,4.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[6.4,0,4.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[-6.4,0,-4.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[6.4,0,-4.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[-6.8,0,20.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[-6.8,0,23.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[3,0,20.7],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[3,0,23.9],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[-15.8,0,11.5],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[15.4,0,-11.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[-15.4,0,-11.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","position":[15.4,0,11.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[-17.6,0,-1.4],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[17.6,0,1.4],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[-1,0,-16.9],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[1.4,0,17.6],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[-24,0,-25.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[25.1,0,24.7],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[-24.8,0,25.6],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[25.6,0,3],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[-25.7,0,-11.2],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[15,0,-25.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[-22.2,0,24.1],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","position":[15.7,0,13.9],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[-7.6,0,7.6],"rotation":135},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[12.8,0,7.6],"rotation":-135},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[-7.6,0,-7.6],"rotation":45},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[7.6,0,-7.6],"rotation":-45},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[0,0,9.6],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[0,0,-9.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[9.9,0,0.3],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[-10.2,0,-0.6],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[-6,0,17.6],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[-5.2,0,21.2],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[-5.4,0,24.2],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[1.2,0,19.9],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[1.3,0,23.1],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[-15.8,0,3.6],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[-17.6,0,-4.4],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[17.2,0,4.4],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[17.8,0,-2.9],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[4.2,0,-15.1],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[-3.9,0,-17.2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[-8.3,0,17],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[3,0,15.2],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[-16,0,8.8],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[16.7,0,-9.2],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","position":[11.2,0,-15.1],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[-5.6,0,10.6],"rotation":20},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[5.6,0,-10.6],"rotation":-160},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[-10.6,0,5.6],"rotation":60},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[10.6,0,-5.6],"rotation":-120},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[-15.7,0,6.1],"rotation":40},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[16.6,0,-6],"rotation":-140},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[-11.6,0,-20.6],"rotation":10},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[-7.6,0,-22.6],"rotation":-25},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[-14.4,0,-19.6],"rotation":60},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[12.8,0,12.8],"rotation":-35},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[-17.6,0,-6.6],"rotation":15},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[24.4,0,-25.9],"rotation":30},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[26,0,1.1],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[-26.2,0,-3.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","position":[-20.4,0,-25.7],"rotation":40},{"asset":"fantasy-mmo-city-and-townsfolk-grain-sack-pile-4be6b3ad","position":[-10.6,0,-5.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-grain-sack-pile-4be6b3ad","position":[9.4,0,5.9],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-grain-sack-pile-4be6b3ad","position":[-17.6,0,16],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-grain-sack-pile-4be6b3ad","position":[-9.6,0,-21.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-grain-sack-pile-4be6b3ad","position":[-5.6,0,-20.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-grain-sack-pile-4be6b3ad","position":[15.7,0,-13.1],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-grain-sack-pile-4be6b3ad","position":[-19.3,0,18.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-grain-sack-pile-4be6b3ad","position":[-13.6,0,-22.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","position":[-17.9,0,17.3],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","position":[-14.4,0,25.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","position":[-18.9,0,22],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","position":[-12.6,0,-24.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","position":[-10.6,0,-24.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","position":[26.4,0,-13.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","position":[26.4,0,-3.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","position":[17.6,0,-18.2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","position":[-26.4,0,24.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","position":[-16.9,0,-16.2],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-firewood-stack-1b7bc0e3","position":[24.6,0,3.5],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-firewood-stack-1b7bc0e3","position":[-26,0,-8.6],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-firewood-stack-1b7bc0e3","position":[17.6,0,-25.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-firewood-stack-1b7bc0e3","position":[-4.6,0,-24.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-firewood-stack-1b7bc0e3","position":[-20.8,0,14.6],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-firewood-stack-1b7bc0e3","position":[26.7,0,17.7],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-anvil-and-quench-trough-f19d79a9","position":[17.4,0,6.9],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-anvil-and-quench-trough-f19d79a9","position":[18.8,0,0.6],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-tavern-table-2f69f453","position":[-21.6,0,19.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-tavern-bench-7a330927","position":[-21.3,0,18.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-tavern-bench-7a330927","position":[-21.6,0,20.8],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-tavern-table-2f69f453","position":[-21.6,0,22.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-tavern-bench-7a330927","position":[-21.6,0,21.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-tavern-bench-7a330927","position":[-22.2,0,23.2],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-tavern-table-2f69f453","position":[-21,0,16.6],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-tavern-bench-7a330927","position":[-20.4,0,15.6],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-tavern-bench-7a330927","position":[-20,0,15.6],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-hand-cart-fce01bae","position":[7.1,0,-13.7],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-hand-cart-fce01bae","position":[-7.4,0,-17.8],"rotation":-75},{"asset":"fantasy-mmo-city-and-townsfolk-wheelbarrow-d90ae5f2","position":[-5.9,0,15.2],"rotation":-60},{"asset":"fantasy-mmo-city-and-townsfolk-wheelbarrow-d90ae5f2","position":[16,0,6.7],"rotation":120},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[-11.6,0,0],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[11.6,0,0],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[0,0,11.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[0,0,-11.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[-17.2,0,0.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[16.2,0,0.3],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[-10.7,0,16.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[-9.6,0,26.3],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[-16.8,0,-10.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[17.3,0,10.8],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[24.6,0,-3.5],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[-20.9,0,2.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[24.9,0,26],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[-18.8,0,-25.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[-17.4,0,-25.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[2.6,0,-25.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[12.9,0,-12.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","position":[-12.9,0,11.4],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[-6.7,0,19.3],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[-7.2,0,22.4],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[3.2,0,18.4],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[3.3,0,24.8],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[18.6,0,4],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[19.2,0,-4.3],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[-18.8,0,3.2],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[-19,0,-4],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[-5.2,0,-18.6],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[2.9,0,-17],"rotation":0},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[-3.8,0,18],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","position":[3.4,0,17.7],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-city-guard-52abf67b","position":[-2,0,16.4],"rotation":180},{"asset":"fantasy-mmo-city-and-townsfolk-city-guard-52abf67b","position":[-2,0,-16.1],"rotation":10},{"asset":"fantasy-mmo-city-and-townsfolk-city-guard-52abf67b","position":[17.3,0,-1.1],"rotation":-90},{"asset":"fantasy-mmo-city-and-townsfolk-city-guard-52abf67b","position":[-16,0,1.4],"rotation":100},{"asset":"fantasy-mmo-city-and-townsfolk-city-merchant-c3ce6ca5","position":[-4.7,0,7.4],"rotation":150},{"asset":"fantasy-mmo-city-and-townsfolk-city-merchant-c3ce6ca5","position":[7.4,0,-4.7],"rotation":-30},{"asset":"fantasy-mmo-city-and-townsfolk-city-merchant-c3ce6ca5","position":[-1.8,0,9.6],"rotation":200},{"asset":"fantasy-mmo-city-and-townsfolk-market-trader-25603071","position":[-7.8,0,9.4],"rotation":-70},{"asset":"fantasy-mmo-city-and-townsfolk-market-trader-25603071","position":[9.6,0,-8.4],"rotation":110},{"asset":"fantasy-mmo-city-and-townsfolk-market-trader-25603071","position":[-7.4,0,19],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-market-trader-25603071","position":[2.4,0,19.4],"rotation":-80},{"asset":"fantasy-mmo-city-and-townsfolk-city-blacksmith-cc7c5c5c","position":[17.6,0,9],"rotation":-60},{"asset":"fantasy-mmo-city-and-townsfolk-city-blacksmith-cc7c5c5c","position":[16.2,0,2.5],"rotation":-120},{"asset":"fantasy-mmo-city-and-townsfolk-city-child-d2a15276","position":[3.4,0,3.4],"rotation":-70},{"asset":"fantasy-mmo-city-and-townsfolk-city-child-d2a15276","position":[-3.4,0,-3.4],"rotation":110},{"asset":"fantasy-mmo-city-and-townsfolk-city-child-d2a15276","position":[-11,0,15.4],"rotation":-150},{"asset":"fantasy-mmo-city-and-townsfolk-dockhand-ffce398e","position":[-8.9,0,-23.1],"rotation":20},{"asset":"fantasy-mmo-city-and-townsfolk-dockhand-ffce398e","position":[-14.4,0,-24.6],"rotation":-50},{"asset":"fantasy-mmo-city-and-townsfolk-city-mage-31468b6f","position":[-14.4,0,6.4],"rotation":90},{"asset":"fantasy-mmo-city-and-townsfolk-city-mage-31468b6f","position":[-9.4,0,-13.4],"rotation":160},{"asset":"fantasy-mmo-city-and-townsfolk-goblin-scavenger-35af904a","position":[-26.4,0,-5.6],"rotation":70},{"asset":"fantasy-mmo-city-and-townsfolk-city-wolf-571ed42b","position":[14.8,0,-17.5],"rotation":-40},{"asset":"fantasy-mmo-city-and-townsfolk-giant-sewer-rat-6c583512","position":[-15.6,0,-25.4],"rotation":130}],"points":[{"position":[-2,0,25],"title":"The great gatehouse","text":"You come in under the gatehouse. It lifts its portcullis and swings both leaves, and the wall either side is one 4 m curtain bay repeated, with a corner tower at each turn.","asset":"fantasy-mmo-city-and-townsfolk-city-gatehouse-6af8de89"},{"position":[0,0,6],"title":"Market plaza","text":"The paved square: a fountain, a well, eight awned stalls, crates and sack piles. Stall canopies and crate lids open as you come near, and the pennants and trade signs sway.","asset":"fantasy-mmo-city-and-townsfolk-plaza-fountain-9b482127"},{"position":[17.6,0,6.6],"title":"The smithy","text":"The smithy on the east lane pumps its bellows on a loop, with anvils and quench troughs out in the yard and two blacksmiths at them. Its doors open and its trade sign sways.","asset":"fantasy-mmo-city-and-townsfolk-city-smithy-d8883eff"},{"position":[-16.6,0,8],"title":"The mage tower","text":"The arcane tower stands 24 m over the west wall and turns the crystal at its crown. Upper storeys, wall walks and roofs are scenery: a demo visitor walks one flat level.","asset":"fantasy-mmo-city-and-townsfolk-arcane-mage-tower-3270d276"},{"position":[-8.6,0,-22.4],"title":"The canal quay","text":"The canal cuts along the north wall on four tiles, with dockhands, crates, sacks and barrels on the quay and a hand cart waiting at the top of the street.","asset":"fantasy-mmo-city-and-townsfolk-canal-bank-tile-4bb312da"},{"position":[-4.6,0,4.6],"title":"The townsfolk","text":"Fourteen figures ship with the pack. They are rigid jointed puppets: heads turn, arms swing and weapons raise on hinges. With no skeleton, fingers, faces and cloth stay still.","asset":"fantasy-mmo-city-and-townsfolk-city-merchant-c3ce6ca5"},{"position":[-21.6,0,21.4],"title":"The terrace","text":"Tables, benches and tapped barrels on the green west of the gate street, where the pack's interior fittings are used as market furniture out in the open.","asset":"fantasy-mmo-city-and-townsfolk-tavern-table-2f69f453"}],"poster":{"position":[-0.6,1.7,7],"lookAt":[0,1.6,0]}},"bounds":{"min":[-29,-1.5,-29],"max":[29,26,29]},"assets":[{"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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."}}]}}