Pull Request - World Origin Shifting in MP

This is very exciting :smiley:

Happy that this is finally in engine

Where would be a proper place to insert/use these two new nodes in a multiplayer blueprint game?

Iā€™d use them in the player controller. On each tick (or every few seconds) check what the current player camera location is, then measure the distance to the last origin and if the distance is greater than some threshold, rebase local origin onto zero with current position and store that origin location. Rinse and repeat.

Mostly before and after sending coordinate as raw vectors over network.

Any chance of getting an updated example project in here? The current one is full of errors :frowning:

+1 on the updated project if possible?

Will try to do it today later

Project is updated to 4.14 (only config changes). MPOriginShift.zip - Google Drive

Good Heavens! That is sooooo sweet. Thanks!

Does it allow to have world bigger than 20km x 20km on server ?
I ask becuase origin shifting shifts origin to the player view location, and on server there is no real player view location, so in theory server would still be limited to the world max.

Yes, WORLD_MAX is still the limit.

Why is that though? What if I disable boundary checking and make say a 200x200km world?
What kind of issues would I be facing?

Iā€™ve noticed that this affects the camera if camera lag is set to on. Is there a better solution to turning it off, setting the new origin location, then turning it back on?

Doesnā€™t unreal have it ? That probabaly would best solution (along with rendering within camera local space).

I know I did some moons (ok sphereā€™s) a million units out in the sky in Eden and they rendered just fine.

Almost certainly uses logarithmic then, since hyperbolic wouldnā€™t work at that range. Best way to know for sure would be to check it in the .usf file tho. Anyone know where the z-depth is set up?

Yep, one was partly behind the other and they were both half behind the horizon of my planet mesh.

Hi Nkey!

I was wondering: why not give us the option to choose larger worlds and sacrifice some extra bandwidth? It sounds like that was your original plan but from what I can tell youā€™re only sending that one extra bit at most.

Thanks,

PS: Is Nkey a play on Enki, the Sumerian god?

Thanks A lot

Demo project from OP for UE4.20: MPOriginShift.zip - Google Drive