你好,我正在开发一款合作第三人称射击游戏,遇到一个特定问题:快速移动的弹道。对于hitscan和慢速移动的弹道,延迟补偿并不是一个大问题。你可以使用各种技术,如回放、前向生成、追赶等。我的问题是快速移动的弹道。想象一下星球大战的枪支。子弹快速移动。当客户端有高RTT时,我不确定如何视觉补偿那段延迟。

前向生成: 不是可行的选项,因为弹道速度太快,会显得很尴尬,还可能会跳过附近的物体,而我想避免实现一个完整的回放系统。

追赶: 加速弹道直到它达到服务器状态有些效果,但也会显得有点诡异,并且无法保证击中移动目标,如原始射击主机。由于这是一款合作游戏,我可以信任客户端有些程度。例如,我让客户端报告击中和检查它们的合理性在服务器上。因此,我不需要实际的回放等等。

我想尝试使用光线追踪,然后根据弹道速度和相对击中位置计算弹道轨迹,而不是简单地生成弹道。但是,我想问一下是否有更常见的方法或最佳实践来解决这种场景之前,我开始实现这个系统。