我们在play时,操作不当会导致物体产生抖动的效果,这会严重影响玩家的体验。
这是因为物体在加上刚体之后有受力,我们希望每一帧受力均匀,也就是希望每秒的受力大小是均匀的,就要在固定物理帧的生命周期中执行。
我们以为update中的Time.deltaTime例,进一步解释为何要在固定物理帧(FixedUpdate)的生命周期中执行。
这里的Update函数中,首先是用的Time.deltaTime,这个Time.deltaTime会由于电脑性能等差异导致每一帧的时间不同,所以我们要设固定物理帧,使得在Update中执行每一帧所占用的时间固定。
这也告诉我们,以后在用到刚体进行移动且有力的交互时,要把东西放在固定物理帧(FixedUpdate)的生命周期中运行,这样就不会产生抖动的效果了。
具体的改动只要把Time.deltaTime用Time.fixedDeltaTime替换,并设private void FixedUpdate()函数就OK啦!