战争雷霆载具碰撞物理学说明,游戏碰撞物理学详解。今天小编给大家科普一下游戏中载具碰撞的物理学科普知识,一起来看看吧!
我们收到了一些关于在游戏中载具碰撞到了其他载具時的問題的抱怨及误解。
安东(Gaijin执行长 兼 War Thunder开发领导)花了一些时间来试着解释究竟我们的游戏实际上是如何模拟真实世界的物理现象的。
一个关于WT的net-code*及物理是如何运作的小提醒
(按:Netcode是线上游戏相关的一个术语,它指的是游戏中的网络传输上的技术问题,比如延迟、掉线等等,经常被玩家用来讨论客户端与服务器间的同步问题,要注意的是,它并不是一个正式的计算机科学术语)。
1. 客户端接受并应用物理模拟的指令*,然后将指令发送到服务器端,服务器端接收过去的指令并应用(由于延迟(ping)的关系,被送达的指令是在过去所发生的)
(按:control,指玩家输入的一些操作,比如点击滑鼠射击或是按键盘移动载具,这里译作”指令”,客户端接收到玩家输入的指令后会应用并发送给服务器端,服务器端接收后经过计算,没问题的话会应用并传送回客户端,客户端接收后会再次重新应用它们)。
2. 服务器端发送”确切的当前状态”给客户端 – 例如:”真实的”载具位置。
3. 当然,由于延迟(ping)的关系,当客户端接收到所谓的” 当前状态”时,它已经是过去式了。
所以呢,客户端,重新应用了从服务器端接收到的指令,尽管这是旧的载具位置(但它是实际的,被服务器所承认的位置)。
4. 这给予了载具一个”新的”位置*
(按:也就是为何有时坦克会忽然向后瞬移,明明已经倒下的围墙或栏杆会忽然恢复原状)。
尽管这不太容易理解,而且在计算上也相当的复杂(相较之下,比如战地的netcode,基本上都是在过去發生的)当在合理的延迟(ping)情况下操控载具时,这给予了很棒的结果。
线上游戏玩起来就像是离线游玩一样?
这给予了玩家非常流畅的操作手感,就像单人离线即时游戏那样的品质。
如果符合以下3点:
1. 稳定的Ping值: 就像你从演算法上看到的一样,服务器端与客户端都仰赖于及时取得的一些讯息上。
然而如果ping非常的不稳定 – 结果将会造成抖动。
因此一个稳定的100毫秒延迟有时将会比”平均”50毫秒(但事实上是介于10~100毫秒之间)来的更好。
更多相关资讯请关注:战争雷霆专区