Skip to content
AssetLoom

Loading 3D preview…

Interactive 3D preview (reduced-detail model, 26,472 triangles · 16 × 10 × 3.1 m). The downloadable files are the full-resolution originals.

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.
PieceSize (m)LOD0LOD1LOD2UCX hulls
vil_wall_stone2 × 0.38 × 3324132361
vil_wall_stone_window2 × 0.38 × 31,4886001441
vil_wall_stone_door2 × 0.46 × 39723961083
vil_wall_timber2 × 0.34 × 31,188484841
vil_wall_timber_cross2 × 0.35 × 31,080440721
vil_wall_timber_window2 × 0.37 × 32,1368641921
vil_wall_timber_door2 × 0.46 × 31,4045721323
vil_wall_timber_stone_base2 × 0.34 × 3756308721
vil_corner_post0.36 × 0.36 × 310844121
vil_corner_stone0.48 × 0.48 × 3.05756308121
vil_beam_2m2 × 0.58 × 0.22432176121
vil_floor_wood_2x22 × 2 × 0.1510844121
vil_foundation_2x22 × 2 × 0.310844121
vil_stairs1.2 × 1.05 × 0.6324132361
vil_roof_red_2m2 × 2.596 × 2.56540220241
vil_roof_blue_2m2 × 2.596 × 2.56540220241
vil_ridge_red_2m2 × 0.32 × 0.36248112321
vil_ridge_blue_2m2 × 0.32 × 0.36248112321
vil_gable_4m4 × 0.34 × 1.996728296321
vil_chimney_stack_3m0.88 × 0.88 × 321688121
vil_chimney_top0.96 × 0.96 × 1.681,032544961
vil_door1.056 × 0.112 × 2.181,364516361
vil_shutters1.88 × 0.055 × 1.1648264241
vil_flower_box1.03 × 0.258 × 0.41,224732481
vil_wall_lantern0.2 × 0.42 × 0.441,200442761
vil_hanging_sign0.1 × 0.95 × 0.771,240416881
vil_barrel0.66 × 0.66 × 0.81,3044441401
vil_crate0.7 × 0.7 × 0.71,4045721561
vil_fence_2m2.1 × 0.1 × 11,368608601
vil_well2.1 × 1.861 × 2.361,6606441521
vil_bench1.5 × 0.36 × 0.48324132361

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.