unity, 同步物体坐标一定要在LateUpdate中进行
設a為主動物體,b為跟隨物體。
如果a,b都在同一個Update里更新坐標,那么兩者自然是同步的。
如果a在a.Update里更新位置,而b在b.Update里將自己的位置更新為與a相同,那就會有誤差。
而且即使a的運動非常緩慢平滑,b也會出現到處亂閃的情況(總之不是我們臆想得那樣,b至多比a延遲一些而不會發生突變)。
解決辦法是不在b.Update中同步位置,而是在b.LateUpdate中同步位置,這樣就一點兒誤差也沒有了。
另外注意,這里a,b都是指普通物體。如果a或b是攝像機,還沒研究過,先不輕易下結論。
--補充:
如果b包含particleSystem,而且(Simulation Space選的是local(其它沒試)),那么如果只在LateUpdate中同步位置,某些情況下(比如Disable再Enable之后)粒子會變得不正常(抖動),經試驗,需要在LateUpdate中同步位置的同時也在Update中同步。推測原因可能是因為particleSystem自身是在Update里更新的,而且在更新時會用到位置,所以我們應該在update時就把數據同步好。
綜上,最把握的方法是:Update,LateUpdate甚至FixedUpdate中都同步。
另外注意,以上討論都只是針對普通gameObject,至于camera是什么情況,還沒深入試驗過。
轉載于:https://www.cnblogs.com/wantnon/p/5617834.html
總結
以上是生活随笔為你收集整理的unity, 同步物体坐标一定要在LateUpdate中进行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单招计算机专业考多少分可以录取,单招考多
- 下一篇: 操作系统以什么方式组织用户使用计算机,操