Advanced Suspension Maker SDK

Build custom, fully-animated suspension for CarX Drift Racing Online

Hub Arm Shock Axle

Get started Browse tutorials View on GitHub

MacPherson strut

The simplest front end: a strut (spring + damper in one) does double duty as the upper locating member, plus a lower control arm and (if steered) a tie rod. There is no upper arm — the strut locates the top of the hub. This is the locked, verified reference setup.

MacPherson corner

Parts → roles

Real part Marker Role Settings
upright / knuckle FL_Hub Hub Wheel Rotation = SteerCamber
lower control arm FL_LowerArm Arm Inner Pivot = self (subframe bolt) · Outer Target = FL_LowerArm_end · Telescopes = ON
tie rod (steering) FL_TieRod Arm Inner Pivot = self (at the rack) · Outer Target = FL_Steer_end · Telescopes = ON
strut (spring+damper+tube) FL_Spring Shock see below
strut tube FL_StrutBody (no component) assigned as the Shock’s Body Bone
top mount / shaft FL_Tophat (no component) the Shock’s Tophat

Shock (FL_Spring) fields: Tophat = FL_Tophat · Tophat Rotates = ON (the top mesh is the shaft) · Lower Mount = FL_Shock_low · Body Bone = FL_StrutBody · Body Anchored At Tophat = ON · Spring Bone = FL_Spring.

Hierarchy

FL  (corner node)
├── FL_Hub                Hub · SteerCamber
│   ├── FL_LowerArm_end   (no component — lower-arm target)
│   ├── FL_Steer_end      (no component — tie-rod target)
│   └── FL_Shock_low      (no component — Shock Lower Mount, ON the kingpin axis)
├── FL_LowerArm           Arm → FL_LowerArm_end
├── FL_TieRod             Arm → FL_Steer_end
├── FL_Tophat             (Shock Tophat — fixed on the body)
├── FL_Spring             Shock
└── FL_StrutBody          (Shock Body Bone — the strut tube)

Why it’s set up this way

Type gotchas

Mirror to FR (Scale X = −1, rename FL_→FR_, set Corner = FR on every component). The rear of a MacPherson car is usually a different type — see multilink or trailing-arm.