虽然我知道Update是每帧调用,与机器的帧数有关,而FixedUpdate则是按固定时间间隔执行,然后官网文档里也有说,给一个刚体作用力时,要把函数放在FixedUpdate里
但是,我一个新手还是搞不太清楚,哪些函数放Update,哪些放FixedUpdate,如果放错了会有什么影响
所以,我想问一下老师,什么时候用Update,什么时候用FixedUpdate,有什么简单的规则可以遵循吗?
最好列两个简单经典的例子,然后简单说明一下,如果放错了会有什么影响~谢谢
通常的逻辑会放在Update里进行处理。
但是一些物理属性的更新操作应该放在FxiedUpdate中,比如Force,Collider,Rigidbody等。
因为Update的帧长不固定,可能这帧变化了这些,下一帧变化了那些,会有忽快忽慢的感觉,就像是跳帧似的,有时两物体相碰还会有抖动的情况。
而FixedUpdate是以固定的时间间隔来被调用,所以每次更新的频率都是一样的,这样运动起来物理表现的更平滑,更接近现实。
比如this.GetComponent<Rigidbody>().AddForce(Vector3.forward*Time.deltaTime);
如果放在Update有时会抖动,而放在FixedUpdate就很平滑。