上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3.1 预测移动的基本表现要素
游戏中角色的移动表现至少由三个要素组成:角色位置的平移、角色朝向的旋转和角色的动画展示。通过将UI层摇杆的角度映射到场景中的XZ平面上,可以计算得到主控角色的移动方向单位向量和角色旋转的目标朝向。在动画方面,一般至少需要“Run”和“Idle”两种动画,分别负责角色在奔跑和静止状态下的表现。
在玩家操控摇杆移动时,除向服务器传递帧命令,本方案会额外将数据传递到表现层,设置表现层的移动朝向等数据。在画面更新时,表现层立即根据当前的移动朝向和速度,模拟主控角色的运动、转向并更新画面位置;当玩家松开摇杆停止移动时,除通知服务器,本方案会立即通知表现层,在下一帧更新时停止主控角色的画面位置移动。这样,本方案可以做到对玩家的移动操控在画面表现上得到立即响应,从而在高延迟网络环境下优化操控手感和游戏体验。
在理想情况下,玩家仅操控角色进行移动操作且上行命令没有丢包,逻辑层和表现层会执行相同的移动指令,仅仅由于网络延迟导致逻辑层的移动晚于表现层移动,但最终移动位置结果一致,画面表现也是准确的。