Suspension tutorials — one per type
A separate, step-by-step guide for each suspension type, each with an accurate diagram. Read the shared basics below once, then jump to your type. All of these build with the current locked system (no axis/flip picking — you pose parts in the scene and the mod keeps that orientation).
| Type | When you’d use it | Tutorial |
|---|---|---|
| MacPherson strut | most front ends (GT86, E36 front, etc.) | 01-macpherson.md |
| Double wishbone | sports/race front or rear (upper + lower A-arms) | 02-double-wishbone.md |
| Multilink | modern rear (3–5 separate links) | 03-multilink.md |
| Trailing / semi-trailing arm | BMW E36/E30 rear, older rears | 04-trailing-arm.md |
| Cantilever / pushrod | inboard shock (race cars, customs) | 05-cantilever-pushrod.md |
| Solid / live axle | beam axle: live-axle drift cars, swaps, trucks | 06-solid-axle.md |
Long-travel offroad and 6×6 are planned — see ../../ROADMAP.md.
Shared basics (true for every type)
The five roles (one KSuspBone per marker, pick a Role + Corner)
| Role | Goes on | Key fields |
|---|---|---|
| Hub | the upright/knuckle | Wheel Rotation = SteerCamber |
| Arm | any link/arm/rod (control arm, tie rod, trailing arm, halfshaft, pushrod) | Inner Pivot (chassis end) · Outer Target (hub point) · Telescopes = ON |
| Shock | the spring/damper assembly | Tophat, Lower Mount, Spring Bone, optional Body Bone, Tophat Rotates, Body Anchored At Tophat |
| RidesWithHub | rigid bits bolted to the hub (caliper, rotor) | Corner only |
| Axle | a solid/live axle beam spanning both wheels | Left Mount · Right Mount (one marker under each Hub) · Stretch = OFF |
How each role moves
- Hub follows the game wheel: track width, wheelbase, travel, steer, and camber — no spin.
- Arm rotates about its Inner Pivot toward its Outer Target and stretches to stay attached (that stretch is what absorbs the hub’s camber/steer travel — leave Telescopes ON).
- Shock pins at the tophat, locks its bottom to the Lower Mount (aim + telescope), and twists about the strut line with the hub (kingpin). The spring telescopes.
- Axle rides the midpoint of its two mounts and aims along the left→right line — so when one wheel travels further than the other, the beam tilts and you get axle roll for free. It’s the only cross-corner role (every other role animates its corner independently), so it lives on Front/Rear rather than inside a corner. See 06-solid-axle.md.
Naming convention
CORNER_<Part> on the bone, CORNER_<Part>_end on the hub-side target. Prefix every object with
its corner (FL_ FR_ RL_ RR_). See GETTING_STARTED.md Step 2.
Build order (every type)
- Tools ▸ KSL ▸ Build Rig Hierarchy (Rig root = your rig root).
- Tools ▸ KSL ▸ Attach Parts to Bones (Parts root = the mesh group, Bone root = rig root).
- Set Car Id + Setup Name on
KSuspensionRoot. - Tools ▸ KSL ▸ Bake Suspension Descriptor → save the
.ksusp. - Drop the
.ksuspin…\CarX Drift Racing Online\kino\suspensions\. - Fully restart the game (the
.ksemod loads at startup; “Reload config” only re-reads.ksusp).
Two placement rules that fix 90% of problems
- Hub-side targets (
*_end, the shock’s Lower Mount) must be children of the Hub so they ride- steer with the wheel.
- A shock’s Lower Mount on the kingpin/strut axis (the line from the Tophat to the lower ball joint) so steering rotates the strut about it instead of swinging it.
Picking between several setups for one car
Drop multiple .ksusp in the folder; the KSL menu’s Setup (this car) picker lists every one
matching the loaded car — click to switch live. (Or pin one in config.json.)