Why are my reflections acting weirdly

I started playing around in UE4 and i got some problems with the reflections which I cant solve

It does not acing weirdly, it normal if you know how reflection works.

Generating reflections are one of expensive process in rendering as engine needs to reproject and render space that is not visible, doing multiple renders… which efficiently can only be done by ray tracing. But UE4 got 3 other methods to generate reflections (aside of obviues ray tracing, which also have there own issues but are better)

What you see is so called screen space reflections, UE4 shader samples screen of things already rendered around reflective object and use it create reflection. Limitations are clearly visible, it can only use things that are on the screen, the rest either will be glitchy reflections or straight up none. Also some reprojection cases may look glitchy as what is rendered on screen is only one projection case, while lot of reflective things will require different projections to look accurately. Player also won’t be able to see themselves if you make first person game in it as player actor is not on the screen and even in other cases it may be glitchy as you only see one side of the player on screen, where reflections will need opposite projections.

Other method is planar reflections where you place as probing mirror plane to render projection opposite to that plane which can be used to generate reflection. It is expensive as you render almost twice, but it good for flat surfaces, like water, you get almost perfect live reflections on them. The main limitation is you can only create one single flat reflection projection using one planar probe you would need more of them for other reflections, which you can’t really do as single one is already hit for performance. Planar reflection is simply a mirror, and it best solution for making flat mirror, using it for water material is just extra feature. Here you can read about them:

Last method is so called cube mapping, where you place series of probe points on level that render 360 view of surrounding areas of near one player is and it will be used for reflections. It’s a lot better then planar for random refection as engine gets 360 giving more projection options. Issue is those are wide fov 360 probes that are stretched and lower resolution then you suppose to see, so quality of reflection is lower then planar or ray tracing. There also accuracy issue as you can only probe from static position so reflection won’t move with a player. As you imagine it also hard to create live image, you can do so for outward reflections (like a ball, but for inward reflection this will be hard, as probe will practically always render actors on front of the probe, so if you look direly on the probe it will render you behind it. On other side it actually have a lot less performance cost, as you can disable live reflections and bake reflections creating 360 reflection static images and use them like a texture to generate reflections, this means there no need for extra renderings and those cube maps are actually as expensive as rendering textures (except bigger VRAM memory use to hold them up). ofcorse you won’t see live reflections and you won’t see players in it. This method is aspecially perfect if you got obstructed reflections on less reflective or rough materials which only needs some color data of surroundings to look pretty good, but if you got perfect flat reflective plain players will see inperfections, like reflections not moving with them, not to mention they won’t see themselves. But this it is a lot better then screen space reflections and should solve your glitchy reflections issue. Yo can read about it here:

Hey Shadowriver, I got a question about PlayerStart as i’m trying to override ChoosePlayerStart, i’m really stuck and I can’t find an answer to my problem, and I found you have helped somebody 2 years ago on this forum regarding this subject…would you mind me asking you privately?

It would be nice if you submit a question so it helps others having same problems, but if you really need to keep it private try hitting me on discord (you can find me at Unreal Slackers, there also other people who can help you out there ;])