我正在进行一场有点赛车的比赛。汽车自动向前移动,但要将其侧向转动,我测量手机的旋转。由于我必须测量x轴上的加速度,我使用:
1
当我玩游戏时,当我在x轴上倾斜手机时,汽车会旋转我想要的样子。然而,问题是当我将手机放在桌子上时,汽车以超慢的速度向左行驶,这是没有意义的,因为它是0度角。为了确保这不是因为桌面,我在Unity Simultator中播放它并发生同样的事情。汽车离开的速度很慢。当我调试.log时,它说Direction.x大约是-0.000147 ...,一个超小的数字。有没有办法解决这个问题,所以当手机静止时,汽车的Direction.X将为0,或者我的代码有问题。
答案 0 :(得分:0)
有时在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;