Персонаж моей игры - кот;он может ходить и прыгать.Проблема в том, что на земле есть склоны и ямы, поэтому кошка иногда переворачивается на спину, например:
Можно ли реально ограничитьуглы поворота?Т.е. от -45 до 45 градусов, поэтому он совместим с физическим движком.
Я нашел решения для установки углов прямо как transform.rotation = desired Rotation
, но он создает артефакты с физикой и не выглядит реалистичным, когда объектначал вращаться и внезапно остановился.
UPD: Я попробовал предлагаемое решение из ответов:
private void FixRotation()
{
var angles = transform.eulerAngles;
Debug.Log("Limiting angles: " + minAngle + "; " + maxAngle);
Debug.Log("Rotation Z: " + angles.z);
angles.z = Mathf.Clamp(angles.z, minAngle, maxAngle);
transform.eulerAngles = angles;
Debug.Log("Fixed rotation Z: " + transform.eulerAngles.z);
}
Не работает правильно.Когда кошка будет вращаться дальше, она возвращается обратно, когда мне нужно НО , спрайт начинает очень быстро дрожать.Я что-то делаю?