【Unity3d】平滑旋转、转向的实现

游戏中经常遇到转向的问题,比如遥感控制角色旋转一定角度。写成工具类,记录一下,随用随粘。方法如下:

public void Rotate(Transform transform,float horizontal , float vertical , float fRotateSpeed)
{
    Vector targetDir = new Vector3( horizontal , 0 , vertical );
    if(targetDir !=Vector3.zero)
    {
        Quaternion targetRotation = Quaternion.LookRotation(targetDir,Vector3.Up);
        transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation,             
         fRotateSpeed);
    }
}

参数1:要旋转的物体

参数2:水平方向的值

参数3:垂直方向的值

参数4:旋转速度

你可能感兴趣的:(【Unity3d】平滑旋转、转向的实现)