Hard surface
UV mapping, normal bakes, technical maps and texture art for vehicles and machinery. The model on this page is unwrapped and baked live, in your browser.
Estimate a project// Bake log · this browser
- waiting for bake…
// Drag to rotate · 3D view
- 01Low-polyStep 1/5
Silhouette and budget first. Hard edges go where the light breaks, chamfers where it should roll off.
DeliverableBlockout + poly count - 02UV layoutStep 2/5
One island per plate, seams on hard edges, cylinders as straight strips. All eight wheels share one stacked UV set.
DeliverableLayout + density report - 03Normal bakeStep 3/5
Bolts, welds, grilles and tyre tread are baked into the normal map instead of the mesh.
DeliverableTangent-space normal, MikkTSpace - 04AO + curvatureStep 4/5
Occlusion and curvature drive every dirt and wear pass that follows, so the paint lands where it should.
DeliverableAO, curvature, ID, edge masks - 05Texture artStep 5/5
Paint, chips, grime, dust and stencils, authored as metal/rough and packed for the engine.
DeliverableAlbedo + normal + ORM
Seams you
won't find.
This is the live layout of the vehicle in the garage above. The numbers are measured from it, not typed in.
- Islands
- —
- Stacked shells
- —
- Packing
- —
- Density spread
- 0 %
- 01Seams on hard edges
A hard edge already splits the normal, so a UV seam there costs nothing and stays invisible.
- 02One texel density
A bolt on the roof and a bolt on the wheel hub get the same number of pixels.
- 03Stacked repeats
Identical parts share one UV set. Eight wheels cost the atlas one wheel.
- 04Padding for mips
Every island bleeds into its gutter, so no dark halos appear at a distance.
Flat plate.
Machined detail.
Drag the divider; move the cursor to move the light. Left: the bare low-poly surface. Right: the same pixels with the baked normal map.
// Close-up bake · 3× texel density
- S1NormalRGB8 · BC5
Tangent space, OpenGL Y+
- S2Ambient occl.R8 · ORM.r
Cavities and contact
- S3CurvatureR8 · mask
Edges bright, crevices dark
- S4HeightR16
Relief for masks/parallax
- S5Material IDRGB8 · mask
Flat colour per part
- S6Edge maskR8 · mask
Hard-edge proximity
// Drag to rotate
—
Wear goes where
boots and branches go.
Every layer reads a baked mask: chips follow curvature, grime follows occlusion, dust settles on upward faces.
Scheme
Layers
Delivery spec
- Mesh
- FBX · glTF/GLB · OBJ
- Textures
- PNG · TGA · EXR, 8/16 bit
- Resolution
- 1K–8K per set, UDIM on request
- Normals
- Tangent space, MikkTSpace, OpenGL or DirectX
- PBR
- Metal/rough or spec/gloss
- Packing
- ORM or your channel layout
- Engines
- Unreal Engine, Unity, Godot, custom
FAQ
Q1Can you take over at any stage?
Yes. Send a low-poly for UVs and bakes, a UV-ready mesh for texturing, or references for the whole asset.
Q2Do you need a high-poly model?
Not for most machined parts: the high is derived from the low, with welds and procedural detail added. Sculpted or organic parts still get a proper high.
Q3Which normal-map convention do you deliver?
Whichever your engine expects: OpenGL (Y+) or DirectX (Y−), synced to MikkTSpace tangents.
Q4How accurate is the estimate?
It shows the order of magnitude from triangles and textures. The quote comes after we see references, and it is fixed per asset.
Q5Do you work under NDA?
Yes. Client work is never shown without written permission.




