Procedural Mesh Material Triplaner not working

Hi all,

I am having some issue with me procedural mesh when it comes to creating a material that works based on the world coordinates, I have a c++ generation which creates a heightmap, reads it and creates a Procedural Mesh from that, i have then created a Triplaner material which works well with other object but no matter what angle my procedural terrain is at, it always grabs the top value. Now i am guessing this is because is it using the parameters of the actor spawn component rather than the terrain. Is there any way around this or any other ideas on how i can get my terrain to texture properly based on the angle? Images below to try and show what im talking about;

This here is an example of my terrain an no matter the angle its all set to the grass top colour

This is the shader i am using to try and get the desired output

If anyone can help in any way or has any other ideas on how to can get my terrain to have a material that changes depending on the angle that would be great.

Exact Same Problem.