WorldPosition node doesn't change its origin when an origin shift occurs

Branch: Binary

Build version: 4.4.1 - 2270799

Detailed description of the issue: When an origin shift occurs, WorldPosition node inside the material editor changes its origin, regardless of WorldPositionShaderOffset setting inside the node.

This makes it difficult to use WorldPosition node, as the effect desired changes whenever an origin shift occurs. A very hacky and cumbersome workaround is changing every single material parameter after an origin shift.

Clean Repro Project Link: https://dl.dropboxusercontent.com/u/141755330/WPOffset.zip

Repro Steps:

1) Open the map named “Master”

2) Start playing the game, inside a 50 meter radius of the origin, the landscape should be yellow (directly below the platform), and the rest should be white.

3) Start moving away from the origin (yellow area) (character has modified run speed).

4) Once you move enough distance, world origin shift will occur, and the yellow area will move to the new world origin, instead of staying at the old one, regardless of shader offset setting.

Hey Chariots -

Thank you for your report. I will begin investigation into this issue as soon as possible. If I am unable to reproduce the problem, or I need more information, I or another staff member will follow up with some additional questions for you. Otherwise, I will post an ‘Answer’ once I have logged the issue in our bug database or we have a solution for it.

In the meantime, please be sure to review our suggestions for how to report a bug, and feel free to edit your post if you have additional information to provide:

Thank you.

Eric Ketchum

Hi, yes we aware of this issue. WorldPositionShaderOffset is not related to a world origin rebasing, I don’t actually know what it does. It’s possible to workaround this by using absolute position tiling, if you don’t need continuous values across your whole world. You will need to make two changes. Choose a wrapping value for example - 1000. Change code in UWorld::SetNewWorldOrigin function to ensure that offset is always multiple of your wrapping value. Change your materials to use remainder of WorldPosition/WrappingValue instead of just WorldPosition.

Or another way is: disable world origin rebasing in WorldSettings.

We had gave up on the X and Y axis offset stuff for the material WorldPosition until it was absolutely necessary. With the 4.5 update, world origin shift now also shifts Z axis, and that does make it absolutely necessary because we use it very heavily.

Is there a way to extend the UWorld class and use it in game without modifying the source code?

Also, are there any plans to fix the WorldPosition node?

Hey Chariots -

I have put in a request with our Engineers to see if we cannot get the World Position node to account for the origin reset. I will keep you informed as we investigate this possibility.

Thank You

Eric Ketchum

Thank you very much! :slight_smile:

What the status on this - big issue with origin rebasing and world continuous textures.