Hi, I am trying to create a night vision feature but instead of covering the whole screen with the effect I would like to only cover a portion with it.
As you can see from this reference photo, only a circular area has the night vision effect, while the rest of the screen remains unchanged. Would be much appreciated if anyone has any ideas o how to achieve this effect. Thank you in advance!
I had this idea of a post process that finds the angle between the player camera and the objects in view
It needs a lot of work, but the basic concept is there

It uses a couple of material parameter collection parameters that are calculated in the player
1 Like
Thank you so much I will try this!
1 Like
@ClockworkOcean How did you get this to line up with any mesh you had on screen though? I’m trying to play with offsets on the PPLocation and PPOrientation and it really only slides around the ray but not the objective direction.
1 Like
Using the parameter collection above ^
I’m still kind of wrapping my mind around the forward vector so please bear with me–but when I move the PPLocation (in my case it’s a static mesh within a blueprint) I should be seeing the entire section of post processed area move right? It’s not like the orientation is necessarily changing. And from the perspective of the player I should be seeing it essentially slide around on my screen.
However, what I’m actually seeing is almost like the NVG is sliding around a fixed orientation–which only confuses me more. Sorry to bother you so much I appreciate that you answered so quickly
1 Like
No its not a mesh, that’s probably what’s causing the problem. Just put that material on a PP volume in the level, it does the rest for you 
If it’s any additional help with helping you help me, here are some pictures to show you kind of what I mean.
Above is when I get forward vector and world location from the viewport. One is from the viewport perspective, the other from above the viewport
I’m trying to get the dot within the bounds of my static mesh there. The NVG behavior itself is fine.
When I introduce a G value offset to the PPLocation vector (for an exaggerated example I’ll use 50,000), I get something that looks like the following:
In both scenarios the full on face view is almost the same, but it’s almost like the angles are getting shifted? It’s definitely not sliding it such that it would fit into a place on my screen though
and sorry when I said it was a mesh I just meant that I was getting the forward vector and world location from a mesh within my bp
1 Like
Maybe try the original idea first, and then try the extra mesh idea. Because I don’t really understand what you mean 