[Solved]Skew texture to match camera perspective?

So I wrote a simple Post Process material to mimic the effect of overhead foliage when the player is supposed to be in a forest. It takes camera position, and feeds that into a UV offset to “parallax” my PP texture as the player moves around. Essentially, the texture acts as a repeating overlay.

The problem I have with this is that the material is parallel to the screen, but my camera angle is set to be looking at around 45 degrees. Because of this, the texture looks fine left-right, but it doesn’t match top-bottom. I essentially want to squeeze the texture at the top of the screen (simulating farther from camera) and have it grow steadily as it goes downward. But obviously it still needs to tile regardless of UV position. I was thinking there may be a way to essentially change the UV scaling at any given Y position on the screen (so top of screen would scale texture to maybe 3 while bottom of screen stays at scale of 1) but I have no idea how to do that or if it’s even possible.

Is there a way to do this using the material blueprint?

What it looks like:

Lines drawn to show how I want it to look:

This should do the trick

317855-virt.png

I’m still a little new to material mapping, and especially the virtual plane coordinate node. I did a quick search and couldn’t find any documentation on that specific node. Can you explain how I would go about wiring it into my material?

1 Like

That is brilliant! Works like a charm. Thanks a bunch!