Loading 3D preview…
Description
A bright stylised 3D platformer kit of 36 game-ready pieces on a 1 m grid: grass-capped terrain blocks with dripping edges, floating islands, bridges, moving and falling platforms, hazards, interactives and pickups. Every piece ships with three LODs and convex UCX collision, so a level can be blocked out and played straight away.
What's included (36 pieces, each with LOD0 / LOD1 / LOD2 + collision)
- Terrain: block_1x1, block_2x2, block_4x2, block_thin_2x1, column (3 m), slope (1 m over 2 m), stone_block, lava_tile (emissive)
- Platforms: island_large, island_small, cloud, bridge (2 m, chainable), moving_platform (emissive lights), falling_platform (cracked)
- Props: ladder, fence, signpost, gate, chest, crate
- Hazards: spikes (1 m tile), spike_ball, saw_blade
- Interactive: spring, bounce_pad, checkpoint flag, goal_flag, button, lever
- Pickups: coin, gem_red, gem_green, gem_blue, heart, star, key
- Formats: GLB, FBX, per-LOD Unreal FBX, OBJ/MTL + Blender source
Specs
- 1 m grid, real-world-ish scale in metres (blocks 1 x 1 x 1 m, columns 3 m, goal flag 3.4 m)
- LOD0 30 to 4,048 triangles per piece, 42,916 for the whole kit; LOD1 ~33 %, LOD2 ~7 %
- 42 convex UCX collision hulls (boxes for blocks, hulls for everything else; usable as pickup triggers)
- PBR metal/roughness: 17 texture sets at 256 to 1024 px (albedo, normal GL + DX, roughness, metallic, AO, ORM) + emission for lava and lights
- 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: 1 m. Terrain and platforms: pivot at the centre of the walkable top surface (z = 0, body below), so a block placed at height h is walked on at h.
plt_slope pivots at the top edge centre of its low end and rises 1 m over 2 m along +Y. Props, hazards and interactives: floor, base centre.
Pickups (coin, gems, heart, star, key) and the spike ball pivot at their centre so they can spin or bob in place; the saw blade pivots at its hub (spin about local Y).
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 = 33 % and LOD2 = 7 % 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 (17): plt_blue, plt_cloud, plt_dark, plt_dirt, plt_gem_blue, plt_gem_green, plt_gem_red, plt_glow, plt_gold, plt_grass, plt_lava, plt_metal, plt_red, plt_stone, plt_white, plt_wood, plt_yellow.
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: plt_glow, plt_lava (emission map + strength set in the materials).
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 36 pieces re-imported from the shipped files: GLB 36/36 and FBX 36/36 with 3 LODs + every UCX hull, Unreal FBX sets 36/36, OBJ 36/36; 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.
- 42 UCX hulls, all convex and closed.
| Piece | Size (m) | LOD0 | LOD1 | LOD2 | UCX hulls |
|---|---|---|---|---|---|
plt_block_1x1 | 1.178 × 1.18 × 1 | 1,416 | 448 | 24 | 1 |
plt_block_2x2 | 2.176 × 2.182 × 1 | 2,616 | 832 | 24 | 1 |
plt_block_4x2 | 4.17 × 2.188 × 1 | 3,816 | 1,216 | 24 | 1 |
plt_block_thin_2x1 | 2.161 × 1.184 × 0.4 | 2,016 | 640 | 24 | 1 |
plt_column | 1.171 × 1.178 × 3 | 1,416 | 472 | 24 | 1 |
plt_slope | 1.06 × 2.06 × 1.988 | 216 | 88 | 24 | 1 |
plt_stone_block | 1 × 1 × 1 | 108 | 44 | 12 | 1 |
plt_lava_tile | 1 × 1 × 0.9 | 108 | 44 | 12 | 1 |
plt_island_large | 3.449 × 3.318 × 2.1 | 1,682 | 374 | 82 | 1 |
plt_island_small | 1.877 × 1.767 × 1.7 | 1,682 | 374 | 82 | 1 |
plt_bridge | 2.003 × 1.04 × 0.92 | 2,224 | 992 | 168 | 1 |
plt_moving_platform | 2 × 1.224 × 0.36 | 936 | 344 | 48 | 1 |
plt_falling_platform | 1 × 1 × 0.35 | 288 | 136 | 48 | 1 |
plt_cloud | 2.6 × 1.257 × 0.53 | 2,520 | 400 | 180 | 1 |
plt_ladder | 0.51 × 0.07 × 2 | 972 | 396 | 108 | 1 |
plt_fence | 2.02 × 0.12 × 0.836 | 756 | 310 | 60 | 1 |
plt_signpost | 0.799 × 0.164 × 1.3 | 482 | 192 | 60 | 2 |
plt_gate | 2 × 0.5 × 2.7 | 1,668 | 484 | 120 | 4 |
plt_chest | 0.8 × 0.542 × 0.582 | 840 | 404 | 144 | 1 |
plt_crate | 0.8 × 0.83 × 0.8 | 1,620 | 660 | 156 | 1 |
plt_spikes | 1 × 1 × 0.397 | 2,380 | 440 | 52 | 1 |
plt_spike_ball | 1.055 × 1.055 × 1.055 | 248 | 140 | 140 | 1 |
plt_saw_blade | 0.991 × 0.3 × 0.991 | 1,860 | 604 | 132 | 1 |
plt_spring | 0.84 × 0.84 × 0.64 | 4,048 | 1,166 | 80 | 1 |
plt_bounce_pad | 1.2 × 1.2 × 0.68 | 1,256 | 352 | 116 | 1 |
plt_checkpoint | 0.853 × 0.436 × 1.79 | 748 | 348 | 112 | 2 |
plt_goal_flag | 1.378 × 0.436 × 3.367 | 896 | 388 | 112 | 2 |
plt_button | 0.8 × 0.8 × 0.16 | 568 | 184 | 40 | 1 |
plt_lever | 0.59 × 0.3 × 0.742 | 420 | 248 | 68 | 1 |
plt_coin | 0.5 × 0.06 × 0.5 | 584 | 328 | 200 | 1 |
plt_gem_red | 0.36 × 0.36 × 0.32 | 30 | 30 | 30 | 1 |
plt_gem_green | 0.36 × 0.36 × 0.32 | 30 | 30 | 30 | 1 |
plt_gem_blue | 0.36 × 0.36 × 0.32 | 30 | 30 | 30 | 1 |
plt_heart | 0.512 × 0.14 × 0.46 | 588 | 404 | 44 | 1 |
plt_star | 0.527 × 0.12 × 0.502 | 556 | 136 | 36 | 1 |
plt_key | 0.237 × 0.06 × 0.569 | 1,292 | 476 | 204 | 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
- 4048 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.