Loading 3D preview…
Description
A modular stylised fantasy village kit: 31 pieces on a 2 m grid with 3 m storeys to build timber-framed cottages and townhouses. Stone ground floors, plaster and timber upper floors with braces, proud timber trims (posts, storey beams, frames), red or blue tiled roofs with ridges and gables, a stackable chimney, plank doors, shutters, flower boxes, glowing wall lanterns and village props. Every piece has three LODs and convex UCX collision (door openings stay walkable).
What's included (31 pieces, each with LOD0 / LOD1 / LOD2 + collision)
- Walls (2 x 3 m): wall_stone, wall_stone_window, wall_stone_door, wall_timber, wall_timber_cross, wall_timber_window, wall_timber_door, wall_timber_stone_base
- Trims and structure: corner_stone, corner_post, beam_2m (storey trim), floor_wood_2x2, foundation_2x2, stairs
- Roofs: roof_red_2m, roof_blue_2m (45 deg slope sections), ridge_red_2m, ridge_blue_2m, gable_4m, chimney_stack_3m, chimney_top
- Openings and dressing: door (hinged leaf), shutters, flower_box, wall_lantern (emissive), hanging_sign
- Props: well, barrel, crate, fence_2m, bench
- Formats: GLB, FBX, per-LOD Unreal FBX, OBJ/MTL + Blender source
Specs
- 2 m grid with 3 m storeys, real-world scale in metres; walls 0.3 m thick
- LOD0 108 to 2,136 triangles per piece, 26,472 for the whole kit; LOD1 ~41 %, LOD2 ~8 %
- 35 convex UCX hulls (door walls use three boxes so the opening stays walkable)
- PBR metal/roughness: 11 texture sets at 256 to 1024 px (albedo, normal GL + DX, roughness, metallic, AO, ORM) + emission for lantern glass
- All textures and meshes made procedurally by AssetLoom (no scans, no third-party content)
Conventions
Units: metres, real-world scale. Z-up in the .blend; GLB/FBX/OBJ exported Y-up (glTF convention).
Grid: 2 m, storeys 3 m. Walls run along +X from the pivot (0..2 m) at a grid corner on the floor, centred on the grid line (y = -0.15..+0.15), outside face -Y.
Rotate 90/180/270 deg about Z for the other sides. Corner pieces are centred on a grid intersection. Gables (4 m) and beams sit on top of a wall row.
Roof sections: pivot at the wall-top grid corner; the slope rises along +Y to a ridge 2 m in and 2 m up (for 4 m deep houses); neighbours meet edge to edge.
Door leaf: pivot on the hinge axis at floor level, fits the 1.1 x 2.2 m openings. Wall props (lantern, sign, flower box) pivot on the wall plane.
Hierarchy per piece: empty root <name> (the pivot) -> <name>_LOD0, <name>_LOD1, <name>_LOD2 and UCX_<name>_NN convex collision hulls (identity transforms).
LODs: LOD1 = 41 % and LOD2 = 8 % of the LOD0 triangles (fewer segments and bevels, small details removed); same materials.
Collision: UCX_ hulls are convex and closed (Unreal simple collision naming); the GLBs name them UCX_<name>_NN-convcolonly for Godot.
Normals: smooth groups split by angle + area-weighted custom normals (exported). Meshes are triangulated.
UVs: world-scale projections per part (planar, cylindrical or triplanar) with tiling PBR textures; no lightmap UV2 (let the engine generate one).
Materials (11): vil_cobble, vil_flowers, vil_glass, vil_glow, vil_iron, vil_planks, vil_plaster, vil_roof_blue, vil_roof_red, vil_stone, vil_timber.
Textures: <set>_albedo, _normal-gl (OpenGL: Unity, Godot, Blender), _normal-dx (DirectX: Unreal), _roughness, _metallic, _ao,
_orm (R = AO, G = roughness, B = metallic), _emission. GLBs embed JPEG copies; FBX/OBJ reference ../textures/.
Emissive: vil_glow (emission map + strength set in the materials).
Sample houses in the previews were assembled only from these pieces (2 x 4 m and 6 x 4 m footprints, two storeys).
Engine notes
- Unity (URP/HDRP/Built-in): import fbx/ + textures/. The _LOD0/_LOD1/LOD2 children build an LOD Group automatically. UCX meshes import as plain meshes:
- select them, remove the Mesh Renderer and add a Mesh Collider (Convex), or delete them and use primitive colliders. Set _normal-gl maps to Normal Map.
- Unreal Engine 5: import unreal/.fbx (mesh + UCX__NN hulls become its simple collision automatically; keep "Combine Meshes" on).
- Then Static Mesh Editor > LOD Settings > LOD Import > Import LOD Level 1/2 with unreal/_LOD1.fbx and _LOD2.fbx. Use _normal-dx and _orm.
- Godot 4: import glb/. Nodes ending in -convcolonly become StaticBody3D convex collision shapes; hide or delete the _LOD1/_LOD2 nodes
- (Godot generates its own mesh LODs) or drive them with visibility ranges.
- Blender: open the .blend (LOD1/LOD2 and UCX objects are hidden children of each piece) or import any GLB/FBX/OBJ. OBJ files contain LOD0 only.
Headless Blender check
- All 31 pieces re-imported from the shipped files: GLB 31/31 and FBX 31/31 with 3 LODs + every UCX hull, Unreal FBX sets 31/31, OBJ 31/31; every PBR map resolved; triangle counts match the build: yes.
- 0 loose vertices/edges, 0 degenerate faces, 0 open edges, 0 flipped-normal edges across all LODs; 0 floating parts.
- 35 UCX hulls, all convex and closed.
| Piece | Size (m) | LOD0 | LOD1 | LOD2 | UCX hulls |
|---|---|---|---|---|---|
vil_wall_stone | 2 × 0.38 × 3 | 324 | 132 | 36 | 1 |
vil_wall_stone_window | 2 × 0.38 × 3 | 1,488 | 600 | 144 | 1 |
vil_wall_stone_door | 2 × 0.46 × 3 | 972 | 396 | 108 | 3 |
vil_wall_timber | 2 × 0.34 × 3 | 1,188 | 484 | 84 | 1 |
vil_wall_timber_cross | 2 × 0.35 × 3 | 1,080 | 440 | 72 | 1 |
vil_wall_timber_window | 2 × 0.37 × 3 | 2,136 | 864 | 192 | 1 |
vil_wall_timber_door | 2 × 0.46 × 3 | 1,404 | 572 | 132 | 3 |
vil_wall_timber_stone_base | 2 × 0.34 × 3 | 756 | 308 | 72 | 1 |
vil_corner_post | 0.36 × 0.36 × 3 | 108 | 44 | 12 | 1 |
vil_corner_stone | 0.48 × 0.48 × 3.05 | 756 | 308 | 12 | 1 |
vil_beam_2m | 2 × 0.58 × 0.22 | 432 | 176 | 12 | 1 |
vil_floor_wood_2x2 | 2 × 2 × 0.15 | 108 | 44 | 12 | 1 |
vil_foundation_2x2 | 2 × 2 × 0.3 | 108 | 44 | 12 | 1 |
vil_stairs | 1.2 × 1.05 × 0.6 | 324 | 132 | 36 | 1 |
vil_roof_red_2m | 2 × 2.596 × 2.56 | 540 | 220 | 24 | 1 |
vil_roof_blue_2m | 2 × 2.596 × 2.56 | 540 | 220 | 24 | 1 |
vil_ridge_red_2m | 2 × 0.32 × 0.36 | 248 | 112 | 32 | 1 |
vil_ridge_blue_2m | 2 × 0.32 × 0.36 | 248 | 112 | 32 | 1 |
vil_gable_4m | 4 × 0.34 × 1.996 | 728 | 296 | 32 | 1 |
vil_chimney_stack_3m | 0.88 × 0.88 × 3 | 216 | 88 | 12 | 1 |
vil_chimney_top | 0.96 × 0.96 × 1.68 | 1,032 | 544 | 96 | 1 |
vil_door | 1.056 × 0.112 × 2.18 | 1,364 | 516 | 36 | 1 |
vil_shutters | 1.88 × 0.055 × 1.1 | 648 | 264 | 24 | 1 |
vil_flower_box | 1.03 × 0.258 × 0.4 | 1,224 | 732 | 48 | 1 |
vil_wall_lantern | 0.2 × 0.42 × 0.44 | 1,200 | 442 | 76 | 1 |
vil_hanging_sign | 0.1 × 0.95 × 0.77 | 1,240 | 416 | 88 | 1 |
vil_barrel | 0.66 × 0.66 × 0.8 | 1,304 | 444 | 140 | 1 |
vil_crate | 0.7 × 0.7 × 0.7 | 1,404 | 572 | 156 | 1 |
vil_fence_2m | 2.1 × 0.1 × 1 | 1,368 | 608 | 60 | 1 |
vil_well | 2.1 × 1.861 × 2.36 | 1,660 | 644 | 152 | 1 |
vil_bench | 1.5 × 0.36 × 0.48 | 324 | 132 | 36 | 1 |
Technical details
- Formats
- GLB, FBX, OBJ, BLEND, PNG
- Software
- Blender, Unity, Unreal Engine, Godot
- Provenance
- Procedural
- AI training
- prohibited
- Engine
- unity, unreal-engine, godot
- Engine version
- Any (GLB/FBX/OBJ); re-import tested headless in Blender 5.2.1
- Render pipeline
- built-in, urp, hdrp, lumen-nanite, forward, deferred
- LODs included
- Yes
- Collision meshes
- Yes
- Polygon budget
- 2136 tris
- Target platform
- pc, console, mobile, vr, web
Reviews
Own this asset? Sign in to review it.
No reviews yet. Owners can share how the asset worked for them.
Questions & comments
Sign in to ask the creator a question.
No questions yet. Ask about formats, compatibility or licensing.