增量时间服务器端问题
Issue with delta time server-side
如何让服务器端游戏 运行 在每台机器上都一样,因为当我使用服务器的增量时间时,它在每台 computer/phone.
上的工作方式都不一样
一个叫做 'fixed timestep' 的东西能帮助我吗?
是的,固定时间步长可以帮助您。但三角洲的简单运动也可以帮助你。
修复了通常与物理一起使用的时间步长,因为有时物理需要比游戏的渲染方法更频繁地更新 (120-200hz)。
但是您仍然可以在没有物理的情况下使用固定时间步长。
您只需要用
插入您的游戏对象
lerp(oldValue, newValue, accumulator / timestep);
在您的情况下,帧速率的微小差异可能会导致意外结果。
为避免这种情况,您应该使用移动依赖增量。
player.x+=5*60*delta;//I assume your game is 60 fps
而不是
player.x+=5;
所以最后一个增量将仅与 machines.And 之间存在差异,它可以忽略不计,因为 60 和 58 fps 之间的增量差异仅为 ~0.0005 秒
如何让服务器端游戏 运行 在每台机器上都一样,因为当我使用服务器的增量时间时,它在每台 computer/phone.
上的工作方式都不一样一个叫做 'fixed timestep' 的东西能帮助我吗?
是的,固定时间步长可以帮助您。但三角洲的简单运动也可以帮助你。 修复了通常与物理一起使用的时间步长,因为有时物理需要比游戏的渲染方法更频繁地更新 (120-200hz)。
但是您仍然可以在没有物理的情况下使用固定时间步长。 您只需要用
插入您的游戏对象lerp(oldValue, newValue, accumulator / timestep);
在您的情况下,帧速率的微小差异可能会导致意外结果。
为避免这种情况,您应该使用移动依赖增量。
player.x+=5*60*delta;//I assume your game is 60 fps
而不是
player.x+=5;
所以最后一个增量将仅与 machines.And 之间存在差异,它可以忽略不计,因为 60 和 58 fps 之间的增量差异仅为 ~0.0005 秒