Коротко про Lerp
Линейная интерполяция (Linear interpolation, которую ещё называют ‘lerp’ или ‘mix’) — очень удобная функция при разработке игр, которая интерполирует в диапазоне [от..до] на основе параметра t, где t обычно находится в диапазоне [0..1].
К примеру, разделите время цикла на продолжительность цикла, и вы получите значение t между 0,0 и 1,0. Теперь вы можете отобразить это значение t в новый диапазон, например, lerp (20, 50, t) , чтобы постепенно увеличить радиус круга, или lerp (20, 10, t) , чтобы постепенно уменьшить толщину линии.
Другой пример: вы можете использовать линейную интерполяцию, чтобы плавно анимировать движение из одной точки в другую. Определите начальную точку (x1, y1) и конечную точку (x2, y2), затем интерполируйте измерения x и y отдельно, чтобы найти итоговую точку.
Или используйте линейную интерполяцию, чтобы прыгнуть к движущейся цели. Каждый кадр интерполировать от текущего значения к целевому значению с небольшим шагом t, к примеру, 0,05. Это всё равно, что сказать: приблизиться на 5% к цели за каждый кадр.
Пример посложнее — интерполирует один цвет (красный) в другой (синий). Чтобы сделать это, мы интерполируем (R, G, B) или (H, S, L) каналы цвета по отдельности, по аналогии с тем, как мы делали для 2D или 3D координат.
В комментариях заметили, что пример с телепортированием очень зависит от фреймрейта. Лучше учитывать deltaTime :
Lerp что это

1

| 6,553 | уникальных посетителей |
| 252 | добавили в избранное |





Лерп (lerp) — это дополнительная задержка, специально созданная разработчиками движка игры для сглаживания картинки у тех, у кого нестабильное соединение с сервером. Каждый игрок может настроить эту задержку у себя самостоятельно (по умолчанию = 100мс или 0.1 секунд). Стандартное значение очень сильно завышено от необходимого большинству игроков (+100 к вашему пингу, ё-моё). Это сделано для того, чтобы у нас на экране не дергались даже те, кто пользуется 3G модемом для игры по сети.
Но большинству игроков это не нужно: в 2015 году у всех стоят дома хорошие выделенные каналы связи, а в компьютере минимум по 2 ядра. Чем меньше время лерпа, тем больше картинка у вас на экране соответствует той, что на сервере. Если у вас реакция хоть немного лучше 60-летней бабушки, настройка лерпа вам необходима. Качество геймплея значительно возрастет.
- Уменьшена задержка между нажатием кнопки мышки и засчитыванием выстрела. (при стрельбе из точного оружия)
- Более реалистичный полет снарядов у Подрывника и Солдата: снаряды вылетают сразу при выстреле и двигаются до цели равномерно, вместо того, чтобы появляться посреди карты из ниоткуда.
- Чтобы попасть в цель, нужно стрелять прямо в нее, а не предугадывать где она будет через эти доли секунды. Применимо и для снарядов, и для пуль.
- Возрастают требования к качеству сервера. У сервера должен быть стабильный фпс (да-да, у сервера тоже есть фпс), а также правильные, а не стандартные настройки соединения.
- Если у другого игрока нестабильный интернет, который не в состоянии равномерно передавать пакеты серверу, то он у вас на экране будет дергаться. Если вы стреляете снарядами, это не страшно, но если пулями, то это в особо лагучих случаях может помешать вам убить противника.
Рейты (rates) — это частота обмена данными с сервером. Измеряется в количестве пакетов в секунду. Сервера Team Fortress 2 (без специальных модов) генерируют состояние игрового мира 66.7 раз в секунду, в то время как клиенты (игра на вашем компьютере) по умолчанию настроены на 20 пакетов/с на прием с сервера и 30 пакетов/с на передачу на сервер. Чем чаще вы обмениваетесь данными с сервером, тем больше картинка у вас на экране соответствует той, что на сервере (логично же, ну).
- Передвижение других объектов выглядит более сглаженным.
- Засчитывание выстрелов происходит точнее, чем при стандартных, заниженных настройках.
Отдельный абзац стоит уделить качеству серверов. Как я уже написал в разделе про лерп, требования к качеству сервера повышаются. При выставлении рейтов на максимум, данные требования заходят еще дальше: каждое падение фпс сервера (да-да, у сервера тоже есть фпс) ниже отметки 66, хоть на секунду, влечет за собой лаг у вас на экране. Поэтому, прежде чем сетовать на неэффективность настроек, которые я вам описал, убедитесь, что вы играете на хорошем, качественном сервере, а не, например, официальном сервере Valve.
Сменить рейты можно консольными командами: cl_cmdrate <num> — передача на сервер и cl_updaterate <num> — прием с сервера.
Vector3.Lerp
Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.
Ошибка внесения изменений
По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.
Параметры
Описание
Linearly interpolates between two vectors.
Interpolates between the vectors a and b by the interpolant t . The parameter t is clamped to the range [0, 1]. This is most commonly used to find a point some fraction of the way along a line between two endpoints (e.g. to move an object gradually between those points).
Когда t = 0, возвращает from . Когда t = 1, возвращает to . Возвращает угол в градусах между векторами from и to .