I am facing a strange problem with my hobby project. I’ve got a BP actor with a camera component on it and I am setting the player camera to BP actors camera component with “Set View Target With Blend” node. I am driving that BP actor(with Set Actor Location node) with UDP messages. Everything is running normal but sometimes the player mesh is flickering(not the camera). On that case, the camera is moving perfectly and smooth as wanted but the player mesh is moving random places for one or two frames. It feels like you are holding a box and for a frame or two, the box is shifting a few inches to the left or right or up and down. It is a very annoying view for the player.
So I made a list and check for those cases;
- The box is attached to the camera and they are in the same BP Actor. So I checked the vector length between the box and the camera component. It looks like the vector length is changing so little. Like, vector length is 359.23321 in one frame and in the next frame the value is 359.63321 but the box’s movement looks like shifting like 1 meter or more.
- I suspect for the UDP messages and engine cycles are not synchronized and synchronize them but that doesn’t fix the problem. Also if it’s caused by the UDP message it has to affect the whole BP Actor, not just the box mesh(player mesh).
I attached a gif to show the mesh flickering. In the image BP Actor is falling down, the camera is smoothly moving downwards but the cube is flickering from time to time.
So I am a little confused about that problem, does anyone has any idea about it?
Solved: I just solved the problem and editing the post for if anyone has the same problem can see the solution.
It looks like my game cycle(tick function) is not sync up with the UDP message cycles and it causes the problem. So for fixing the problem, now I am getting the player position and rotation information from the UDP messages and store it in a buffer and in every tick function updating the position and rotation according to the buffer.