HMD Data Replication Issue
We're trying to achieve multiplayer gameplay in VR game. The first thing we want to do is to sync the rotation and positional tracking data across all server and clients. First we use the HMD Orientation and Position to drive the IK on the character head and upper body. It works fine. Then we make the parameters replicated. That's how we did it:
Every tick, the owning client send HMD location and rotation to the server. Every HMD location and rotation of a certain client will be replicated to all server and clients. This is written in our own character blueprint, not in player controller.
Then the client animation blueprint will use the replicated HMD location and rotation of itself to drive the IK on head and upper body.
Test succeed, both server and clients will see each other’s movement on head and upper body. But on the clients, it sees obvious shaking on the whole body when MOVING. The shaking happens on client’s 1st person model, and on the 3rd person model of server. When not moving, everything is fine, both 1st person model and 3rd person, all synced and smooth. When disabling the HMD parameter replication, the shaking disappears. Then of course, the movement on head and upper body is not synchronized anymore. This is why I think the way replication handles HMD data caused this issue.
Any comments will be welcome.
asked Jan 26 '15 at 11:28 AM in VR
So I found this was due to using Event Tick causing too much processing from the HMD and causing locomotion to be distrupted, and glitchy. My similar implimentation worked fine after I moved to using Event Begin Play and a Timer function to replicate the HMD location/rotation. In the function only replicate at 1/4 the rate as Event Tick and that got around the locomotion glitchiness for me. I know this thread is super old so you've probably already solved this, but posting for anyone else that might benefit.
Follow this question
Once you sign in you will be able to subscribe for any updates here