[请益] 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