Тема: Сеть
Показать сообщение отдельно
Старый 18.01.2013, 22:37   #5
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Сеть

Поворот не нужно экстраполировать, хватит интерполяции.
А положение - нужно экстраполировать. Предсказание нужно делать используя кубические сплайны - если хочешь хорошего результата.

Но даже можно тупо взять прошлую точку, текущую точку - получаем вектор. Нормализуем. Далее берём задержку * скорость перемещения (тут нужен коэфицент), таким образом знаем на сколько далеко тебе нужно предсказать положение игрока. Умножаем ранее полученный вектор на эту длину, прибавляем последнюю позицию - вот вам и предсказанная позиция. У тебя простой WASD, не играл, но как понимаю у тебя нету сглаживания перемещения? Обычно это не сильно влияет на предсказание таким методом влоб.

Далее двигаешь игроков к предсказанной точке, немного ускоряя если расстояние между точкой и игроком больше чем задержка * скорость.
Чтобы компенсировать шанс нарастания ошибки.
(Offline)
 
Ответить с цитированием