Reflections

Hello,
I heard from many people that you want to add Reflection Capture all over your level.

But I noticed that by adding them, you are making a scene heavy from a performance standpoint. After that, I realized that the people who I heard about the reflections were all working on showcase levels… not on a level for an actual videogame.

So now I was wondering: how do you threat Reflection Capture in a videogame?

Do you need to place them all over the level? Or do you use them sparingly? Or maybe you can avoid them altogether?

How did you arrive at this conclusion?

Reflection captures perform very well, sure it’s going to have some hit to performance but they’re the fastest reflection solution. As far as placement, they need to cover the level anywhere you want reflections.

1 Like

I noticed an increase in the texture streaming pool right after placing a reflection capture sphere in the level. Did I misunderstand what was happening?

Thank you! It’s good to know it. So I guess that I can still use them

Did you by chance start from the ArchViz template?

The reason I ask is because yes, there is a memory cost to reflection captures. However so long as you keep the reflection capture resolution to something reasonable (256 or less) the cost should be negligible. By default the game templates use 128 as their resolution, while the ArchViz template uses an insane 2048.

Capture Resolution Memory Cost (ea)
64 0.25 mb
128 1 mb
256 4 mb
512 16 mb
1024 64 mb
2048 256 mb

(as reported by the Map Build Data)

Cubemap reflections are by far the most performant way to handle reflections, as the reflection itself is entirely precomputed. They’ve been used in nearly every game (that has reflections) released in the last decade or more.

In general they’re perfectly fine to use, even on mobile. If you want to reduce your memory footprint, simply use less of them or select a lower resolution.

2 Likes

Great information, thank you very much!

It was just a custom level that is quite big (had to use a reflection sphere with a 18000 radius to cover the whole level).

Hi, sorry to bump this old thread.
@Arkiras where did you get that information for “as reported by the Map Build Data” ?
Trying to find the costs of reflection probes with cubemaps and captures.

Thanks

Just run the following command with the level loaded: stat MapBuildData

Afaik it only reports the memory usage for level data that is always loaded (VLM, reflection captures, etc.)

you legend. thanks for getting back to me so quick! and thanks for that command

1 Like