1

假设我有一个对象,其方向由四元数 q1, q2, q3, ...qn 在服务器端的时间 1,2,3,...n 给出。我想在客户端预测对象的方向,这样我就可以在两边保持虚拟世界的一致性。

  • 我将 q1 和 q2 从服务器发送到客户端。
  • 在服务器端,我计算 dq = q1' * q2;
  • 然后在服务器端,我通过执行 q2 * dq; 来预测 q3Predicted;
  • 然后在服务器端我检查 q3 orignal 和 q3Predicted 之间的错误,如果它很大,我发送一个新的 dq,它是 d1 = q2'*q3。

我的两个问题是:

  1. 我应该如何计算 dq 是 - q1'*q2 还是 q2*q1'?
  2. 与原始四元数相比,我应该如何检查预测的误差是否超过 10%?
4

1 回答 1

0

在服务器端。我想在客户端预测它们。

你到底想做什么?

对我来说,这听起来像是您正在尝试在 GPU 上实现动画系统并尝试在 CPU 上跟踪它。每当您需要跟踪或重新进行一些计算时,您的设计就会出现一些缺陷。如果你还是在 CPU 上进行计算,为什么要在 GPU 上花费宝贵的周期进行相同的计算呢?

只需在 CPU 上计算并放入制服。性能也会更好,因为 GPU 旨在并行处理大量数据。仅插入少量标量会导致过多的开销。

如果我们谈论的是带有游戏服务器的网络游戏,您应该看看所谓的“卡尔曼滤波器”

于 2012-12-12T10:00:49.740 回答