3.6.1物理小球的碰撞和预期不一样

creator版本:3.6.1
物理引擎:physX
物理参数:默认值

场景如下:


小球的scale=1,两个小球的水平距离0.5,纯计算的话小球碰撞的时候是,理论上小球2会沿着30度夹角的轨道方向运动
但实际上。。。
QQ20230216-103103-HD
最终结果的偏差和计算的明显有偏差,请问这是什么原因造成的呢

本来是想着碰撞的Enter接口里手动调整下球2个速度方向,但是Enter接口触发的时候这个时候小球2已经有过一段位移了,这个时候再改方向也不是自己想要的轨迹了。。。
请问有onPre这种,碰撞位移逻辑执行前触发的接口么

@引擎组大佬

开始觉得是浮点数误差,但感觉又有点太离谱了。。。

@ jare大佬救命 :joy:

你可以试试,把ccd检测打开

useCCD开启了,效果还是一样的,你的意思是不是说碰撞的时候其实球有重叠造成的
而且刚刚发现小球1的速度越大偏差越离谱
向上50的冲量的效果
QQ20230216-113136-HD
向上10冲量的效果
QQ20230216-113246-HD

如CCD都没办法给你修正好位置那就没办法。
物理是基于时间片模拟,不同速度碰撞位置可能不一样。
就像过了身位插了进去,再进行碰撞反弹,这时已经晚了,就会出现你现象。
要想绝对准确,建议你自己算,毕竟是球还是可以自己来算的。

这是一对一好自己算,很多球问题就多了

换bullet的CCD试试,看看效果一样没

完全一样 :joy:无奈…假如是这样的话,现在市面上的桌球类游戏都是自己实现的物理系统么

摩擦力关了吗?关了试试?

1赞

摩擦关了可以 :joy:什么原理。。。摩擦关了球的滚动没了。。。而且小球一顿一顿的。。。

摩擦旋转带了角动量

[quote=“android3dx, post:13, topic:145844, full:true”]
摩擦旋转带了角动量
[/quote]受教了,请问这种带瞄准线的好预判了或者有什么方法规避这种么

这没搞过哦,
见别人是用物理引擎模拟拿位置描线,
也有人是直接射线查询计算,这种性能比较好操作。

好的,非常感谢,总算知道偏差的原因了