Add SuspensionForceOffset to vehicle wheel config
This commit is contained in:
@@ -324,13 +324,12 @@ void WheeledVehicle::Setup()
|
|||||||
wheelData.mMaxHandBrakeTorque = M2ToCm2(wheel.MaxHandBrakeTorque);
|
wheelData.mMaxHandBrakeTorque = M2ToCm2(wheel.MaxHandBrakeTorque);
|
||||||
|
|
||||||
PxVec3 centreOffset = centerOfMassOffset.transformInv(offsets[i]);
|
PxVec3 centreOffset = centerOfMassOffset.transformInv(offsets[i]);
|
||||||
float suspensionForceOffset = 0.0f;
|
PxVec3 forceAppPointOffset(centreOffset.z, centreOffset.y + wheel.SuspensionForceOffset, centreOffset.z);
|
||||||
PxVec3 forceAppPointOffset(centreOffset.x, centreOffset.y, centreOffset.z + suspensionForceOffset);
|
|
||||||
|
|
||||||
wheelsSimData->setTireData(i, tire);
|
wheelsSimData->setTireData(i, tire);
|
||||||
wheelsSimData->setWheelData(i, wheelData);
|
wheelsSimData->setWheelData(i, wheelData);
|
||||||
wheelsSimData->setSuspensionData(i, suspensionData);
|
wheelsSimData->setSuspensionData(i, suspensionData);
|
||||||
wheelsSimData->setSuspTravelDirection(i, PxVec3(0, -1, 0));
|
wheelsSimData->setSuspTravelDirection(i, centerOfMassOffset.rotate(PxVec3(0.0f, -1.0f, 0.0f)));
|
||||||
wheelsSimData->setWheelCentreOffset(i, centreOffset);
|
wheelsSimData->setWheelCentreOffset(i, centreOffset);
|
||||||
wheelsSimData->setSuspForceAppPointOffset(i, forceAppPointOffset);
|
wheelsSimData->setSuspForceAppPointOffset(i, forceAppPointOffset);
|
||||||
wheelsSimData->setTireForceAppPointOffset(i, forceAppPointOffset);
|
wheelsSimData->setTireForceAppPointOffset(i, forceAppPointOffset);
|
||||||
|
|||||||
@@ -228,6 +228,11 @@ public:
|
|||||||
/// The maximum offset for the suspension that wheel can go below resting location.
|
/// The maximum offset for the suspension that wheel can go below resting location.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
API_FIELD(Attributes="Limit(0)") float SuspensionMaxDrop = 10.0f;
|
API_FIELD(Attributes="Limit(0)") float SuspensionMaxDrop = 10.0f;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The vertical offset from where suspension forces are applied.
|
||||||
|
/// </summary>
|
||||||
|
API_FIELD() float SuspensionForceOffset = 0.0f;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user