{
 "id": "vehicle.two-wheel.bicycle/mountain-bike",
 "version": 1,
 "name": "modern full-suspension trail mountain bike: wide flat bars, telescopic fork, rear shock, knobbly 29 inch tyres, disc brakes, dropper post (the one on sheet.jpg)",
 "title": "Mountain Bike",
 "slug": "mountain-bike",
 "refs": [
  "sheet.jpg"
 ],
 "size": "1.85 m long, 0.78 m wide at the bars, 1.15 m high",
 "tris": "20k to 50k",
 "mats": 6,
 "effort": "medium",
 "frame": "Front toward +Z, up = +Y, +X = the rider's LEFT side, centred on X = 0; origin (0,0,0) on the ground plane midway between the two axles. Upright (not leaning, not on its stand): both tyres touch y = 0 under the centre line.",
 "nodes": "GAME WEIGHT overrides the budget above: every texture image at most 1024 px, ORM / occlusion maps at most 512 px, share one baked texture set between parts where you can. Separate named mesh nodes: Frame (everything fixed to the frame), Fork (fork + handlebar + everything that steers, origin ON the steering axis at the head tube, so a game turns it about that axis), Wheel_F (child of Fork, origin at the wheel centre, spins about X), Wheel_R (origin at the wheel centre), Crank (cranks + chainring, origin on the bottom bracket axis, turns about X) with children Pedal_L, Pedal_R (origin on the pedal spindle). Kickstand (origin at its pivot, modelled UP/retracted). Empty nodes (no mesh): Seat_Rider (rider hip point on the saddle/seat), Hand_L, Hand_R (grip centres), Foot_L, Foot_R (footpeg or pedal points), Light_Head, Light_Tail. Spokes, cables, chain, brake lines as thin real geometry, smooth shading. PAINT CONTRACT (this is how games get colour variants of one model): the body colour lives in ONE material named exactly \"Paint\". Its base colour TEXTURE holds only light neutral detail (near white, with grey grime, dust and wear baked in) and its baseColorFactor holds the paint colour; default factor = [0.80, 0.25, 0.02] (orange). A game recolours the vehicle by changing that factor, so nothing else (rubber, chrome, glass, lights, interior, decals) may use the Paint material. Give Paint a clearcoat (KHR_materials_clearcoat 1.0, roughness about 0.05) if it is glossy paint. The frame is Paint. In nodes.json add \"paints\": six good-looking real paint colours for this model as linear RGB triples (the default first), and render paints.png: a 3x2 grid of the same 3/4 view in those six paints (EEVEE or low-sample Cycles is fine) to prove the recolour works. Pace: deliver a first complete GLB within about 25 minutes, then use what is left of about 45 minutes to improve what the renders show is weakest. Use Cycles with the GPU (OptiX/CUDA) and modest samples for bakes and renders. No logos, badges or readable text anywhere, and do not copy any real manufacturer's signature grille or lamp shape exactly: keep the sheet's proportions and detail level with an original face. ",
 "family": "bikes"
}