您好,您说得很详细,关于碰撞检测我想再交流一下,如有错误烦请指正。
碰撞检测好像是和FixedTime绑定的,Unity默认是0.02即每秒执行50次,所以当物体每秒移动的距离/50>目标碰撞器在移动方向上的长度时便会出现穿模问题
因此解决上述问题的方法之一是改变Setting里面的FixedTime频率,但这个会大大增加性能消耗
我目前的方法是完全舍弃使用碰撞器,利用观察者模式的原理,把物体移动放在FixedUpdate调用获得每帧固定移动距离,当物体移动前,发出固定距离的射线检测,若无目标触发器(障碍物)则移动,若有再从水平和垂直与接触面两个方向进行分解后再移动,一定情况下节省性能又不会造成穿模现象,物理位移效果也是不错的 |