Why is the precomputed visibility volume not working?

I placed some in my level ,after building lighting,there were no generated cells.Is there something wrong with me?Thanks!

Hi ,

I am not sure what you are looking for. The precomputed visibility volume is meant to optimize the objects within the volume’s bounds, Can you tell me what steps you are taking to get your bug so I can reproduce it on my end? Thank you!

I just placed a big volume that covering the scene that the player could reach then rebuilt the lighting,but i could not see any generated cells after i toggled the show->visualize->precomputed visibility,so that i do not know if it indeed worked or not.Is there any specific steps that needs to be done before it works?Please give me some explicit information on how to get it to work properly and how to see whether it works.Many thanks!

PS
I tried the ways here Performance Guidelines for Mobile Devices in Unreal Engine | Unreal Engine 5.1 Documentation but when I type the stat initviews on mobile to see occluded primitives ,it never appears larger than 0?What am I doing wrong?Thanks again!

Hi ,

Upon further review, I was able to reproduce the effect you described and will attach this along with my findings to a bug report to be assessed. Thank you!

Thanks!Hope you to fix it soon!

Hi and ,

I have the similar problem, I’ve placed the some precomputed visibility volumes in my level and enabled “Warn about no precomputed visibility” in edit>project settings>rendering>culling to see if volumes have been enabled or not.

But in the viewport a warning appeared like “No Precomputed Visibility” even after i add the volumes. What am i doing wrong ? How did you solve this issue ?

PS: By the way I added the volumes after i created the scene, is it a problem or p.c volumes can be added anytime we want ?

Hello ,

It sounds like you might be misunderstanding how the Precomputed Visibility Volume works within the editor. To clarify, I grabbed a screenshot of the tooltip to help explain further.

It specifically says, “Displays a warning when no precomputed visibility data is available for the current camera location. This can be helpful if you are making a game that relies on precomputed visibility.”

The primary benefits of precomputed visibility are for mobile platforms which don’t support hardware occlusion queries, and to save rendering thread time in rendering thread bottlenecked scenarios like split screen on consoles. Precomputed visibility decreases rendering thread time in game at the cost of increasing runtime memory and lighting build time somewhat.

It saves rendering thread time by reducing the number of primitives that have to be handled by the dynamic occlusion system (hardware occlusion queries) and because it works immediately, while the dynamic occlusion system needs time to converge, which often means poor performance coming around a corner or rotating the view quickly. This technique is only useful for medium sized levels or smaller, as the memory and computation requirements grow with the level size. It is also only useful for games with mostly static environments, restricted player movement and somewhat 2d play areas.

Let me know if you have further questions or need additional assistance.

Cheers,

I think there is a bug in FSceneViewState::GetPrecomputedVisibilityData while calculating PrecomputedVisibilityBucketIndex, PrecomputedVisibilityCellBucketSizeXY is used to multiply BucketIndexY, but isn’t PrecomputedVisibilityNumCellBuckets supposed to be used? Tell me if I am wrong since it really bothers me!

Hey spacejumpunreal,

Can you make a new post in the Bug Reports section that details what you mean by the bug in FSceneViewState::GetPrecomuptedVisibilityData( )? Please be as descriptive as possible when explaining the issue and give as much information as you can regarding the subject.

Thanks.