Я работаю над простым кусочком кода на C #, чтобы убедиться, что голова модели игрока указывает на векторную позицию мыши (lookPoint), но она зажимается между диапазоном 90 градусов, 45 градусов по обе стороны от туловища.текущее направление.
Я поэкспериментировал с результатами углов Эйлера, чтобы убедиться, что получаю желаемое значение поворота для оси y, но я борюсь с тем, чтобы угол Эйлера снова стал равным 0и я не могу понять, как с этим разобраться.
minRot = myTorso.transform.rotation.eulerAngles.y-180f-45f;
maxRot = myTorso.transform.rotation.eulerAngles.y-180f+45f;
lookDirection = Mathf.Atan2(lookPoint.x - transform.position.x, lookPoint.z - transform.position.z);
lookRotation = Mathf.Clamp(Mathf.Rad2Deg * lookDirection, minRot, maxRot);
myHead.eulerAngles = new Vector3(0,lookRotation,0);
Это приводит к тому, что голова возвращается к одной из крайностей, когда она не может понять, каким должен быть ее максимум или минимум.
Может кто-нибудь помочь мне определить minRot иmaxRot, чтобы он составлял 180 градусов кроссовера?