Я использую этот код ниже, чтобы повернуть сустав вокруг оси x от -120 до 120 градусов, и все работает нормально от -90 до 90 градусов, но если угол поворота больше 90 или меньше -90, соединение начинается бесконечновращение ... может быть, мне стоит изменить и другие значения вращения оси ?!Я использую этот способ на осях Z и Y, и все хорошо.
if (transform.localEulerAngles.x > 180)
{
ACT = transform.localEulerAngles.x - 360;
}
else
{
ACT = transform.localEulerAngles.x;
}
d_theta2 = theta_2 - ACT;
Quaternion originalRot = transform.rotation;
transform.rotation = originalRot * Quaternion.AngleAxis((float)d_theta2, Vector3.left);