Replication (3rd person): rotation jitter; Get Turn and Get Lookup

Hi everyone,

I’m having a few replication-related problems with my 3rd person melee project (apologies if my use of terminology is a bit confusing! I’ll happily try to clarify!):

  1. From the perspective of any one player, all other players’ characters jitter and snap during rotation (rotation looks as intended on the owning player’s screen); I feel this may be related to my switching on and off of UseControllerRotationYaw for various actions (I switch it on during blocks and attacks and then off again once the attack or block is finished).
  2. I’m getting “Turn” and “Lookup” values to set attack and block directions (i.e. make block input while moving the mouse upward to perform an upward block etc.) - this works from the perspective of the client or server player performing the action, but not from the perspective of other players (who always see the animation that plays when there is no current Turn or Lookup input instead of the correct “directional” animation). If the player performing the action is the server’s, all clients can see them performing the correct animation.
  3. This final problem looks like it’s related to problem 2: client characters (from their own perspective) get stuck looping in animations that are selected on the basis of the “Turn” or “Lookup” values (e.g. they continuously attack from the right, or hold blocks even after the block has been deactivated).This problem only occurs on client characters, not on the server’s character.

I’ll post images of my blueprints as soon as I can. Any help would be greatly appreciated :slight_smile:

Update:

Problem 1 - I seem to have solved this one (see attached “jitter fix” image for the approach I took), but I’m now entirely failing to get smooth rotation through the Rinterp node. I previously had an approach that I was happy enough with (the character would make small incremental snaps of about 5-10 degrees), but now the character snaps in large steps and changing the interpolation speed has no effect.

Problems 2 and 3 - while the looping problem has been fixed by some more aggressive deactivating of animation-relevant variables, and I seem to have improved the directional input detection, the detection is still not consistent. An attack or block will always be performed, but it’s still tending to default to the “no directional input” option. I’ve attached a series of images of my Blueprints for reference. The image of the anim graph has been annotated with the selection criteria. The purple arrow and box are for the transition from the idle stance to the chambered position (threat) of the relevant attack, the teal arrow and box are for the transition from the threat to the attack animation.