У меня есть игровой объект, который движется прямо вперед и может поворачиваться влево, вправо, вверх и вниз с помощью этой функции:
void moveTowardsPoint(Vector3 targetPoint)
{
//forward movement
var movementSpeed = Time.deltaTime * speed;
transform.position += transform.forward * movementSpeed;
//rotation
Vector3 dir = targetPoint - transform.position;
Quaternion targetRotation = Quaternion.LookRotation(dir);
var turnSpeed = Time.deltaTime * 2f;
transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation, turnSpeed);
}
Я хочу, чтобы этот объект вращался пропорционально тому, насколько он поворачивается влево или вправо. для поворота на 20 ° я хочу повернуть на 20 ° также (углы относительно моего стартового угла)
было бы даже лучше, если бы я мог установить предел крена, и он поворачивался, скажем, на 30 °, а крен - на 15 °.
Вот вид сверху вниз, как это выглядит: