【问题标题】:Offset in Tilting Phone. Accelerometer Bug倾斜电话中的偏移量。加速度计错误
【发布时间】:2016-11-05 02:08:48
【问题描述】:

我正在制作一个有点赛车的游戏。汽车自动向前移动,但要让它侧身,我测量了手机的旋转。由于我必须测量 x 轴上的加速度,所以我使用:

Direction.x = Input.acceleration.x * Time.deltaTime; 
Transform.translate (Direction.x * 5f);

当我玩游戏时,当我在 x 轴上倾斜手机时,汽车会按照我想要的方式旋转。但是,问题是当我将手机放在桌子上时,汽车向左行驶的速度非常慢,这没有任何意义,因为它处于 0 度角。为了确保这不是因为桌面,我在 Unity Simultator 中播放了它,同样的事情发生了。汽车向左行驶超级慢。当我调试.log 时,它说Direction.x 大约是-0.000147...,一个非常小的数字。有什么办法可以解决这个问题,让手机静止时,汽车的Direction.X为0,或者是我的代码有问题。

【问题讨论】:

    标签: android unity3d racing


    【解决方案1】:

    有时在 Unity Translate 函数中出现故障,因为更好地使用带有向量的标准操作。只需尝试降低加速度计的最小值:

    float min_value = 0.01f
    
    if(Mathf.Abs(Input.acceleration.x) < min_value)
        Direction.x = Input.acceleration.x * Time.deltaTime;
    else
        Direction.x = 0;
    
    transform.position = transform.position + Direction.x * 5f;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多