Remote Player's feet slip

Zaddo

Active member
The character movement and animations aren't perfectly synched for remote players. When the player comes in for a stop , the character keeps moving for a moment but the animation has already stopped.

The CharacterTransformMonitor does a little extrapolation based on Velocity and Lag, then a little interpolation applying the calculated position to the character. This is so the character moves smoothly and you don't get jittery movement.

While the CharacterAnimationMonitor applies the animations parameters immediately. My theory is that this results in the animation not being fully synchronised with the movement.

If this is what is happening, it might be outside the scope of the PUN Multiplayer asset to handle this.

But, I was wondering, if I might be missing something and this is just my setup? I have played with interpolation to get it as snappy as possible. But I still get some slip.

If it is a limitation, do you have any suggestions on how to make it better? I was thinking to try and implement a synchronsiation mechanism between the transform movement and animation movement parameters (Obviously don't want to slow down shooting/reload/etc).

I am not using root motion. I tried turning it on, but it did not make it better.
 
Last edited:
This does sound like a synchronization issue between the animator and the interpolation. With remote players the character controller logic doesn't run and it's just interpolating the values so root motion doesn't make a difference. Decreasing the interpolation time will help, but your idea of changing the forward/horizontal movement values based on the interpolated transform monitor values sounds like it would be a good approach. If you only change the Horizontal/Forward/Moving parameters it would not affect shooting. You'll then need to prevent the animation synchronization from syncing those values.
 
Top