我們在play時,操作不當會導致物體產生抖動的效果,這會嚴重影響玩家的體驗。
這是因為物體在加上剛體之后有受力,我們希望每一幀受力均勻,也就是希望每秒的受力大小是均勻的,就要在固定物理幀的生命周期中執行。
我們以為update中的Time.deltaTime例,進一步解釋為何要在固定物理幀(FixedUpdate)的生命周期中執行。
這里的Update函數中,首先是用的Time.deltaTime,這個Time.deltaTime會由於電腦性能等差異導致每一幀的時間不同,所以我們要設固定物理幀,使得在Update中執行每一幀所占用的時間固定。
這也告訴我們,以后在用到剛體進行移動且有力的交互時,要把東西放在固定物理幀(FixedUpdate)的生命周期中運行,這樣就不會產生抖動的效果了。
具體的改動只要把Time.deltaTime用Time.fixedDeltaTime替換,並設private void FixedUpdate()函數就OK啦!


