x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

MULTIPLAYER: Character Jitter at high speed

Hi,

When moving at high speeds in a dedicated server setup, other player's character set to flying mode appears to jitter, unsure about which location to be at.

Increasing the NetUpdateFrequency to 60.0f seems to substantially diminish the issue (not in packaged dedicated server though, only in PIE dedicated server).

Product Version: UE 4.15
Tags:
more ▼

asked May 06 '17 at 03:12 PM in Bug Reports

avatar image

Altrue
54 3 9 12

avatar image Altrue May 09 '17 at 09:12 PM

After a bit more testing, it would appear that the movement is fluid even at high speeds, but ONLY when no acceleration is being applied. Clearly, it would appear that the current velocity of the charactermovementcomponent isn't taken into account.

I am of course using bReplicateMovement = true, and this is in C++.

avatar image Altrue May 21 '17 at 11:54 AM

After even more testing (coding my own pseudo "MovementComponent" - actually an ActorComponent) in a pawn (instead of a character), I have been able to once again find the bug :(

It clearly appears that there is an issue with the replication of the pawn's position between the server and the ROLE_SimulatedProxy. I know that my code isn't at fault here, because, well, I have exactly zero lines handling that. The pawn's default code is the only thing propagating my server location changes to clients.

I say that the issue is between the server and simulated proxies because : 1- On Dedicated Server, each client sees its own pawn move smoothly at high speed without any issue. But sees other pawns jitter at high speeds. 2- On Listen Server, the listen server client sees everything moving smoothly at high speed, both its own pawn and everyone else's pawn.

So that leaves us with an issue in the way pawn replication to clients is done.

EDIT:

After printing extensive logs of the SimulatedProxy location, it would appear that the SimulatedProxy's pawn location is only updated every 2 or 3 ticks.

I believe the jitter comes from the fact that the simulated proxy is basically motionless 50 to 66% of the time, and then suddenly teleported two to three frames forward at once.

EDIT 2:

I can now confirm that simulating the motion of the SimulatedProxy in between server updates does indeed solve most of the jitter. I however need to stress that this is using my custom implementation. With a Character and a proper CharacterMovementComponent, with unmodified code, the jitter is still present.

(comments are locked)
10|2000 characters needed characters left

2 answers: sort voted first

Hey Altrue,

I have a couple of questions:

  • Could you provide a video of this issue occurring so I can have a visual for context?

  • Is this also occurring if you test using a listen server, or is it only occurring while connected to a dedicated server?

  • Would you be able to provide a set of repro steps, a test project, or modify the attached project if possible (you'll have to convert it most likely as it's originally a 4.14 project) so that it reproduces the issue you're experiencing?

link text

more ▼

answered May 11 '17 at 01:14 PM

avatar image

Sean L ♦♦ STAFF
44.2k 485 149 436

avatar image Sean L ♦♦ STAFF May 15 '17 at 01:44 PM

I am marking this topic as resolved to tracking purposes, as we haven't heard from you in a few days. Feel free to reopen the thread when you get a chance to provide the requested information.

Thanks!

avatar image Altrue May 15 '17 at 05:14 PM

Hi Sean!

Sorry for the delay, I did see your message in time but I was in holidays for the last three days.

Here is the download link for the modified SteamTestProject : https://eve-guides.fr/SteamTestProject.zip

Upon opening it you should land in the Game map, with dedicated server ticked, and two players already setup. Simply hit play and see for yourself, the characters are set to auto move forward so I'd suggest not turning the camera too much :)

Here is a link to a mp4 showing the issue in the project: https://i.gyazo.com/1676828769411cf169af6d87db9ebb83.mp4

avatar image ptjackson May 15 '17 at 05:24 PM

I have the same issue and have tried numerous replication ways around this for over a year and a half.. I hope this gets solved. Ive researched other people having similar issues but not the same.. I have gotten speeds for twice what the video shows and its a bit more jittery. Also this happens for not only character but pawns as well..

avatar image Sean L ♦♦ STAFF May 15 '17 at 06:51 PM

Thanks for the project, I've reproduced your issue and have entered a ticket which you can track using the link below:

https://issues.unrealengine.com/issue/UE-45034

Have a great day

avatar image RockfordJim May 16 '17 at 02:59 AM

Thanks Sean!!! I am seeing the same issue in UE4, the video that Altrue posted is exactly what I see as well. I haven't been able to successfully compile the core engine yet, but I was wonder if it has to do with the server receiving truncated rotations of pitch and roll float to shorts when it packs the data? Since rotators are floats, I could imagine if the server received a less precise value, and the client has a more precise value, the client is always being re-adjusted.

avatar image Sean L ♦♦ STAFF May 17 '17 at 10:33 AM

Hey RockfordJim,

No problem, and thanks for the suggestion regarding what could be going on here.

Have a great day

avatar image mihovil Aug 22 '18 at 08:48 AM

Hi! I just updated to Unreal 4.20.1 and seems that this issue that has been haunting me for years disappeared. Is it possible that this got fixed?

avatar image Jin_VE Aug 30 '18 at 03:27 PM

I have the issue. When falling fast, they don't so much jitter as they bob up and down. I tried 4.20.1 and 4.20.2.

avatar image Jin_VE Aug 30 '18 at 03:25 PM

Over a year later and this is still backlogged. Falling from great heights causes this issue and I think that's a reasonable thing to expect to work properly. Just giving a friendly prod, if that's OK. For now I'll have to override something in there with my own functionality.

avatar image Jin_VE Aug 30 '18 at 03:29 PM

BTW Epic has apparently even backlogged the ticket cuz it only says the bug affects versions 4.15-4.17.

avatar image Sean L ♦♦ STAFF Oct 05 '18 at 05:56 PM

Hey Jin_VE,

I've gotten around to testing this in 4.20 and can confirm the behavior is still occurring when following the repro steps in the bug report. I'll go ahead and update the affected versions to ensure our developers are aware that this issue is still occurring in 4.20, but keep in mind that this might not be prioritized or fixed soon.

Thanks for the update,

Sean

(comments are locked)
10|2000 characters needed characters left

Has this been fixed in 4.21?

more ▼

answered Feb 09 '19 at 12:24 PM

avatar image

Subressor
1 1 1

(comments are locked)
10|2000 characters needed characters left
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question