Hello. I am trying to create a mirror material, but the mirror does not reflect the player or the environment around it (in this case, the room). It seems to only detect the sky. Does anyone know the reason for this or how to fix it?
In order to make an acurate mirror reflection, you have to activate the option “Support global clip plane for planar reflections” in the Project settings window.
Following the instructions in this video should solve the problem
First, you’ll want to place some spherical reflection captures around your level.
Placing one close to the mirror will start showing some of the surroundings in the mirror.
Second, you’ll want to turn on clipping plane support in project rendering settings, and place a planar reflection capture that lines up with the mirror. This will make the mirror show more or less what you’d expect it to show.
Third, you’ll want to turn on ray tracing, which will make the scene have the highest quality for reflections.
Something to keep in mind when setting up a global clip plane and Planar reflections is that it’s very expensive if you’re not careful. What I do actually is I use the Show Only Actors flag. This creates an array that you can then manually add actors from the environment to so it’s not rendering unnecessary objects. To get the player added to the list, you can actually set this up in your player character with the following code:
I execute this on Begin play and it automatically adds the player to every planar reflection in your level. And when you use the Show Only Actors array, you can actually have quite a few mirrors in your level without affecting the performance.
I also found that if you want an object to show in the mirror but not to the player, you can use the Set Owner node to make the player character the owner of your blueprint, and then set the Owner No See flag to true on all of the meshes inside the actor, and then add that to the list of actors the mirror will show. It’s a great effect for a horror game.