# Lerping Jitter

## Recommended Posts

Posted (edited)

I've been stuck all day on this unfortunately.

Problem in action: https://i.gyazo.com/a13cdb3c2f318bec1559ca8011e2763b.mp4

I'm basically simulating a 10/second positional update from the server: It updates the new_pos Vector2 with x, y values 10 times a second. Game is running at 60 fps and I am trying to interpolate the character movement.

And, the lerping code:

	if new_pos.x:
var lerpspeed = 0.5
set_pos(Vector2(lerp(get_pos().x, new_pos.x, lerpspeed), get_pos().y))


I'm using the Godot engine by the way (GDScript language)

I've been searching these forums and read that my lerpspeed somehow needs to be dynamic and clamped between 0.1 - 1.  I'm just not entirely sure how to go about doing that. Thanks in advance

Edited by Webzen

#### Share this post

##### Share on other sites

The problem is that lerp gives you a single value, once. You need to make a note of when you receive each position, and lerp between the previous state and the new state, every update, for a chosen timespan, with the interpolation value changing each time accordingly.

This comes up almost every day, and the answer given by hplus0603 in another thread should illustrate this approach: https://www.gamedev.net/topic/687361-slow-response-in-state-interpolation-when-time-gap-is-big-between-client-and-server/#entry5336637

## Create an account or sign in to comment

You need to be a member in order to leave a comment

## Create an account

Sign up for a new account in our community. It's easy!

Register a new account

## Sign in

Already have an account? Sign in here.

Sign In Now

• ### Forum Statistics

• Total Topics
628367
• Total Posts
2982278

• 10
• 9
• 13
• 24
• 11