帧数越高,运动越快,而且位移的距离也不等于速度乘以deltaTime
版本 3.7.3 和3.8.0 都有问题
在123行打印了x坐标,横向速度和deltaTime。
60fps下
10fps下
看到其他帖子有人说位移距离还要乘以32,重新打印了一下。
是的因为postupdate和帧率有关可以在设置里关了自动更新物理,你自己手动更新物理步长
试过没有自动更新流畅
也就是说引擎本身的实现就错了?
有什么办法把这个问题报告给官方吗?
每次物理模拟消耗的时间都是固定的跟帧数无关
不同帧数下,相同速度,走相同距离需要的时间都不同
我也遇到这个问题了,请问楼主有找到解决办法了吗
void update(float delta){
static float totaltime += delta;
const float steptime = 0.02f;
int stepcount = totaltime/steptime;
for(int i=stepcount;i>0;i—)
{
fixedupdate(steptime);
totaltime -= steptime;
}
}
物理引擎的代码应该这样写
这代码看起来似乎是java或者c#吧,现在的cocos似乎只支持typescript。
没有,很明显是引擎的问题,但是官方似乎看不见。
之前研究过rapier.js的物理引擎, ta的delta time是固定在初始化时就要设定
每次step的delta time都是固定的, 所认有可能不是官方不改, 而是第三方的物理引擎就是这様设定
我也遇到这个问题了,想问楼主,有什么办法解决吗?
没有,不知道为啥这么明显而且重要的bug,cocos官方会无视这么多版本。