Unity3D-向点和滚动方向旋转对象

时间:2019-06-22 17:10:42

标签: c# unity3d

我有一个游戏对象,它可以直接向前移动,并可以使用以下功能向左,向右,向上和向下转动:

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

0 个答案:

没有答案