public void ComputeErrorReductionAndSoftness(float dt, out float errorReduction, out float softness)
{
if (advanced.useAdvancedSettings)
{
errorReduction = advanced.errorReductionFactor / dt;
softness = advanced.softness / dt;
}
else
{
if (stiffnessConstant == 0 && dampingConstant == 0)
throw new InvalidOperationException("Constraints cannot have both 0 stiffness and 0 damping.");
errorReduction = stiffnessConstant / (dt * stiffnessConstant + dampingConstant);
softness = 1 / (dt * (dt * stiffnessConstant + dampingConstant));
}
}
}