Update (Blueprint only):
I was able to create a Blueprint only version of the pixel reader. Along with this I was able to make large improvements to performance for the user of determining if an object can be seen.

In this updated version you can see the mannequin is looking for the pink cube. Look closely and you will see that it in this example the “Can See“ result shows up only when the camera can see the object (this could be changed in needed/wanted). The result being that even the body of the player can obscure the object.

This makes for a nearly perfect test on if the object can be seen. This would be great in something like a stealth game.

This method does not use Line traces, collision testing, or the perception system. This is a wonderful solution to the “hole in the fence“ problem for detecting if something can be seen.

This is my “Pixel Reader“. It takes in a texture variable and reads the individual pixel data. From there that information can be used for multiple tasks.  In this example, it was used as height data to generate the location of a grid of blocks.

Older C++ Version:
This is my “Pixel Reader“. It takes in a texture variable and reads the individual pixel data. From there that information can be used for multiple tasks. In this example, it was used as height data to generate the location of a grid of blocks.

Another use case I created with this system was to check and see if any piece of an object can be seen by the player. This means the check could be done without using line traces and did not need special coding to handle things like a random hole in…

Older C++ Version:
Another use case I created with this system was to check and see if any piece of an object can be seen by the player. This means the check could be done without using line traces and did not need special coding to handle things like a random hole in fence or incomplete coverage by bushes. In this example I have it run the check on the click of a button.