Hi! I’m making an online game and since a while back had to live with a pretty limited internet connection. Now I clearly see that my character’s movement interpolation doesn’t seem to work as expected.
Please, have a look here: http://m.weridegame.com/notSmooth.flv
My character is set to replicate movement.
None of the child components is replicating individually.
During PIE with simulated packet loss and lag it super smooth all the time.
What am I missing?
Wow! After studying my video and playing it in slowmotion I could clearly notice that the main skeletal mesh ACTUALLY rotates smoothly, but the big yellow box a put there to make things more clear does NOT.
I have multiple skeletal meshes on my character.
How does it determine which component to apply the interpolation?
Ok, confirmed that the smoothing only occurs on the skeletal mesh inherited from the base Character BP. My workaround will be to put everything else as children to this skeletal mesh.
There are several things you can do to tweak this behavior:
- make sure your character movement component has the same ‘MaxWalkSpeed’ on OwningClient and on Server
- tweak the ‘NetUpdateFrequency’ values of your actor
- tweak the replication mitigation cost variables in your Actor (movement quantification or something of the sort)
- tweak the ‘TickUpdateType’ of the components following your mesh: ‘PostPhysic’ / ‘Prephysic’ etc.