Unity3D - вращение объекта в направлении точки и вращение - PullRequest
1 голос
/ 22 июня 2019

У меня есть игровой объект, который движется прямо вперед и может поворачиваться влево, вправо, вверх и вниз с помощью этой функции:

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 °.

Вот вид сверху вниз, как это выглядит:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...