CustomUV-Values broken when used for World Position Offset


I’m getting same issue as this post:

Are there any solution or recommendation?

Hi Alfredo,

When working with WPO you don’t need to use the custom UV coordinates for Pre-Skinned Local Position (or world position) to work and in fact this may cause errors when running those values through a UV coordinate node based off the custom UVs.

Here is an example of how you would setup the graph.

This is the result of the material applied to a sphere located at (0,0,0)


I swapped the WorldPosition Node with Pre-Skinned Local Position and got a nearly identical result. It would be more accurate to compare to the local position node. Not to be confused though, Pre-Skinned Local position will behave very similarly to local position when used with WPO, but there is a distinct difference. The positions are all relative to the base pose.

To illustrate this point I assigned an animation to the character(so it isn’t in its base post) and then plugged pre-skinned position directly into WPO and multiplied by a scalar. I then switched to local position and did the same thing and recorded a short [video][3].

I’m not sure if this is going to be particularly useful for you depending on the effect you are going for.

We have a Pre-Skinned Local Normal node coming to 4.15 This works in a similar way to the Pre-Skinned Local Position node added in the 4.14 release but returns the local surface normal for skeletal and static meshes. This opens the door to more local-space, mesh aligned effects or advanced use-cases such as writing dynamic surface data to a mask read-back in another material.

Depending on the effect this may be what you are looking for. In short the bugs reported in that AnswerHub post aren’t a real issue and the nodes are working as expected.

Let me know if you have any questions or need anything else!