Download

aim off set jitter on clients.

Having a issue with aim off sets flickering on clients when looking around. now in pie they work fine but once u start up a stand alone with its own process to connect over the internet to another computer it starts to try to return to the idle pose even though its suppose to be looking straight up. this only happens for clients while the server it works fine. and it works fine when hosting a server and client in pie.

ive tried this with just a server replication event connected with a multicast to tell all clients that player a is looking around now ive added a 3rd rpc to do the change on the owning client then tell the server we are aiming and then again back to the multicast as seen in the picture below. either way i do this it works fine in pie. for both server and client. havent tested new setup(with the on owning client rpc) with the standalone in its own process yet. due to the fact that i test with someone over seas. now this rpc has to be called on tick in order to keep the pitch variable updated. my normal ms is around 50 when connecting to the host over seas so not seeing it as a lagg issue. if anyone has any information on how to go about fixing this that would be great. Thanks in advance!

aim offset.png

You should be able to only need to set the replicated value of pitch without the rpc calls. You then in the animation blueprint get that value and set a pitch value that is tied to the anim blueprint aim offset blend some.

I think of it this way the animation blue print exists on other clients. They only need to know what this value is so that it will adjust the aim offset on their client side.

“Hey he is using this pawn and this animation blue print. His pitch is 75, I know that means his pawn is looking up at this angle.”

Are you using a blend space for offset?

nono it works fine as it is in side pie my question is not to get it to work but as to why its not working for clients properly when using the stand alone on its own process. in pie every thing works fine no problems any where all my aim off sets work with out any jitter(by jitter i mean its legit goign between the idle pose and the aim offset so its resetting it self over and over ) my pitch value is already updated in the anim bp. but i get no jitter at all while playing in 2 stand alone pie windows, but the standalone on its own process that you have to use when connecting to a out side ip it causes jitter on client only and not the host(server). networking isnt new to me so i know the ins and outs on whats what every thing i have done is for testing purposes to fix the client aim off set animation jitter.

my new setup that is shown in the picture there works as it should has been tested on a over seas server and now the aim off set is no longer jittery on clients

Thank you so much dude, was getting a big headache over this

what was wrong, I didn’t get it…
I am using c++
and I have this way of implementation :



void ASCharacter::SetPitch() {
   if (!IsLocallyControlled()) {
    FRotator NewRot = CameraComp->RelativeRotation;
    Pitch = (RemoteViewPitch * 255.0f) / 180.0f;
    if (Pitch > 270.0f) {
     Pitch = Pitch - 360;
    }
    NewRot.Pitch = Pitch;
    //UE_LOG(LogTemp, Warning, TEXT("P:%s %s"), *FString::SanitizeFloat(Pitch), *FString::SanitizeFloat(RemoteViewPitch));

    CameraComp->SetRelativeRotation(NewRot);
   }
   else if (HasAuthority() && IsLocallyControlled()) {

    FRotator NewRot = CameraComp->RelativeRotation;
    Pitch = GetBaseAimRotation().Pitch;
    NewRot.Pitch = Pitch;
    if (Pitch > 270.0f) {
     NewRot.Pitch = 360 - Pitch;
    }
    //CameraComp->SetRelativeRotation(NewRot);
   }
  }


void ASCharacter::GetLifetimeReplicatedProps(TArray< FLifetimeProperty > & OutLifetimeProps) const
  {
   Super::GetLifetimeReplicatedProps(OutLifetimeProps);

   DOREPLIFETIME(ASCharacter, Pitch);
  }


//and my header file:
UPROPERTY(Replicated, BlueprintReadWrite, Category = "Player")
   float Pitch;



SetPitch() is called in event on Tick

net frequency update for character is set to min =35, max=75

help me please, what’s wrong? why does a client have jitters?

and why the way of getting correct pitch is different?
Client have Pitch - 360,but server 360 - Pitch.
I found out it through trial and error.
it works, but jitters is very annoying.

I do appreciate any help!
Thanks to everyone!