TGViewer
GameDev: разработка игр GameDev: разработка игр @make_game · 7.64K subscribers
Post #2102 214
Как сгладить сетевую физику интерполяцией снимков

Передающая сторона отправляет состояния объектов, а клиент не запускает такую же симуляцию. Он ненадолго задерживает два снимка и строит между ними движение. Цена плавности: дополнительная задержка и трафик.

В примере с 900 кубами снимок занимает около 25 КБ. Поток из 60 снимков в секунду требует 11,6 Мбит/с, из 10 — около 2 Мбит/с. Даже при меньшей частоте сплайн Эрмита сглаживает движение с учётом скорости, а сферическая интерполяция кватернионов сохраняет постоянную скорость вращения.

При 5% потерь и неравномерном приходе пакетов до двух кадров автор использовал буфер на 350 мс. Потерянный UDP-пакет можно пропустить и двигаться к следующему состоянию. Сравнение интерполяции и экстраполяции показывает компромисс: без данных о физике прогноз проводит кубы сквозь пол, а затем резко исправляет их положение.
More from @make_game
  1. Sep 30, 2026Как разгрузить CPU в Unity при тысячах объектов Сначала профилируйте: скачки времени кадра…
  2. Sep 30, 2026Где выполнять вычисления шейдера и как не переплачивать за точность Вершинный шейдер запус…
  3. Sep 30, 2026Как собрать физический 2D-рэгдолл в Godot 4 Персонажа собирают из узлов RigidBody2D: отдел…
  4. Sep 29, 2026Как один раз объявить ресурсы шейдера для C++ и пяти графических API В движке SETech интер…
  5. Sep 29, 2026Как тетраэдральные оболочки разгружают BVH у анимированной растительности В демо AMD 25 ты…
  6. Sep 29, 2026Как найти причину пропавших столкновений в Godot 4 Если CharacterBody проходит сквозь мир,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →