С# Unity не могу разобраться со скоростью перемещения камеры
В проекте используется основная камера с режимом orthographic и поворотом на 45 и 30 градусов по X и Y. Каким образом можно изменить код, чтобы камера перемещалась с одной скоростью вверх/вниз и влево/вправо? В текущем варианте из-за изменения только двух координат не могу получить одинаковую скорость (камера перемещается вверх и вниз очень медленно). Координата Y же не изменяется т.к. это высота и из-за неё не получается правильно ограничить камеру.
if (Input.GetMouseButtonDown(0))
{
isDragged = true;
touchStart = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
else if (Input.GetMouseButtonUp(0))
{
isDragged = false;
}
if (Input.GetMouseButton(0) && isDragged == true)
{
Vector3 direction = touchStart - Camera.main.ScreenToWorldPoint(Input.mousePosition);
direction.y = 0;
Vector3 newPosition = Camera.main.transform.position + direction;
newPosition.x = Mathf.Clamp(newPosition.x, -45, 45);
newPosition.z = Mathf.Clamp(newPosition.z, -45, 45);
Camera.main.transform.position = newPosition;
}
Источник: Stack Overflow на русском