- 因为我的移动代码是这样写的
transform.position+=dir*speed*Time.deltaTime
if(Vector3.Dis(transform.position, target.position)<0.1f)
{
Debug.Log("到达目标")
}
- 在电脑运行是正常的
- 但是到了手机上就开始晃动
- 最后log信息发现,是因为判断<0.1f一直是false,没办法收敛
- 原因是,unity那边好像会自动对项目进行优化,手机端是30帧来运行的,这就导致,Time.deltaTime变大,每一帧移动的距离变大,没办法收敛。