[請益] unity使用transform撞牆抖動問題

作者: kons (kons)   2020-11-23 04:25:16
我使用transform來使角色移動,
把地圖物件和角色加上碰撞之後,只要角色撞到障礙物件,
角色就會開始抖動,然後卡死。
推測應該是利用transform角色要移動到該格,但該格又有碰撞,所以產生BUG,
利用rigidbody2D的方式移動就不會產生該問題,
但目前用rigidbody2D沒辦法做到一次移動一格,
請問有什麼比較好的解決方法嗎?謝謝。
作者: nimajneb34 (kanzaki.h.aria)   2020-11-23 04:36:00
聽起來你要棋盤式移動又要有物理 可以試試看 棋盤式+檢查下一個來播放動畫或是物理+計算到下一個所需的力道和速度add force推動物體 但是預設是有摩擦力的 摩擦力也可以調整
作者: ura1210 (jack)   2020-11-23 08:34:00
我猜應該是物理偵測器在該幀判斷已經碰到障礙物但是腳本還是繼續往前引發抖動 可以試試快接近障礙物時 自己判斷下一幀是否碰到障礙物提前停止
作者: LayerZ (無法如願)   2020-11-23 09:10:00
試試看fixedupdate因為物理跟update其實不同步,update修改transform就跟物理衝突..看是要直接控制速度vec,或是乾脆不要用物理
作者: sableangle (米米米米米奇)   2020-11-25 00:32:00
你需要 rigibody.MovePosition

Links booklink

Contact Us: admin [ a t ] ucptt.com