饥荒联机吧 关注:160,924贴子:2,641,234
  • 1回复贴,共1

已发,永冻与否,自己的档自己决定

取消只看楼主收藏回复

之前跟某人说了会发个mod:

简单说就是修了三点:
1.船滑行的时候投掷物会经过角度换算,最后到达正确的落点(比如你丢哑铃,最后砸在你鼠标点的地方, 这个问题导致了之前永冻机和其他投掷物的偏移角度非常奇怪)
2.船滑行的时候投掷物会正确获取船的速度,不会错误偏移(这个问题导致了之前雪球机会一直过量偏移,导致一直丢,玩出永冻)
3.船靠岸并且还有速度的时候保存,重进世界不会破洞了。(这个至少纯纯是害人的bug)
三项都可以单独开关,你要玩永冻,就在配置里关掉第二项,其他两个应该没有啥有利用价值的。


IP属地:广东1楼2023-09-07 20:28回复
    说下原理:很简单,Physics:GetVelocity 由于计算时间不够导致结果错误。船的boatphysics组件刷帧SetMotorVel,每次设置MotorVel的时候,速度vel会初始化为MotorVel(经过了角度转换,motorvel是针对物体面朝方向的坐标系,而vel是针对世界坐标系),然后在随着时间重新计算而变化。也就是说在不同时间戳获取船的速度,有时候是0有时候是MotorVel的值。而雪球机获取船速度的时间戳应该差不多是船每次SetMotorVel后的时候,所以每次GetVelocity都是get的MotorVel 的值。
    比如船靠着岸开,每帧设置Motorvel为(4,0,0),这时候速度为(4,0,0)(假设面朝方向和世界坐标系主方向一致),经过0.1s(总之要一些时间计算才得到正确结果)的时间重新计算为(0,0,0)。雪球机每次投射前获取船速度的时间戳都还没等速度计算完成为0


    IP属地:广东13楼2023-09-08 23:23
    回复