Как сгладить сетевую физику интерполяцией снимков
Передающая сторона отправляет состояния объектов, а клиент не запускает такую же симуляцию. Он ненадолго задерживает два снимка и строит между ними движение. Цена плавности: дополнительная задержка и трафик.
В примере с 900 кубами снимок занимает около 25 КБ. Поток из 60 снимков в секунду требует 11,6 Мбит/с, из 10 — около 2 Мбит/с. Даже при меньшей частоте сплайн Эрмита сглаживает движение с учётом скорости, а сферическая интерполяция кватернионов сохраняет постоянную скорость вращения.
При 5% потерь и неравномерном приходе пакетов до двух кадров автор использовал буфер на 350 мс. Потерянный UDP-пакет можно пропустить и двигаться к следующему состоянию. Сравнение интерполяции и экстраполяции показывает компромисс: без данных о физике прогноз проводит кубы сквозь пол, а затем резко исправляет их положение.
Post #2102
214
