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"

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:

alt text

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.

alt text alt text

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.

Product Version: Not Selected
hmd_01.png (175.8 kB)
hmd_02.png (93.9 kB)
hmd_03.png (52.7 kB)
more ▼

asked Jan 26 '15 at 11:28 AM in VR

avatar image

60 5 7 9

avatar image kindfox Jan 27 '15 at 01:33 AM

more clear screenshots

hmd_01.png (462.5 kB)
hmd_02.png (278.0 kB)
hmd_03.png (92.2 kB)
avatar image kindfox Jan 27 '15 at 02:23 AM
avatar image MagicBots Jan 16 '16 at 01:52 AM

Found this post since I have the exact same problem. The locomotion of the character is distrupted on the client when enabling replication of variables for hmd position and rotation, and then using those in the anim BP. I've tried everything, but cannot find a way around it.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

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.

more ▼

answered Jan 19 '16 at 08:10 AM

avatar image

13 3 9 8

avatar image DreyMo Jan 18 '18 at 04:04 PM

Can you explain this a bit further, I am having the same issue. I am getting jittery movement on the client. And when I set a timer which calls the HMD location/rotation replaction event I even get shaky movement on the server.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
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