统一 - 如何使对象的加速度计移动更平稳



我想让我的角色在倾斜手机时流畅移动。如何使它平稳移动,速度和速度随着手机的坡度而增加?

void AccelerometerMove()
{
    float x = Input.acceleration.x;
    Debug.Log("X = " + x);
    if (x < -0.1f)
    {
        MoveLeft();
    }
    else if (x > 0.1f)
    {
        MoveRight();
    }
    else
    {
        SetVelocityZero();
    }
}
public void SetVelocityZero()
{
    rb.velocity = Vector2.zero;
}
public void MoveLeft()
{
    rb.velocity = new Vector2(-speed, 0);
    //transform.Translate(Vector2.right * speed * Time.deltaTime);
    transform.eulerAngles = new Vector2(0, 180);
}
public void MoveRight()
{
    rb.velocity = new Vector2(speed, 0);
    //transform.Translate(Vector2.right * speed * Time.deltaTime);
    transform.eulerAngles = new Vector2(0, 0);
}

在此处查看有关使用移动平均线/低通滤波器的答案

你可以通过使用 Vector3.Lerp 函数来实现类似的效果。

最新更新