Fully deactivate Occlusion Culling

Hi to everyone, I’ve a problem with Occlusion culling:

in my scene I’ve a mechanical machine, with some static mesh and some skeletal animated mesh. the problem is, sometime, from certain point of view, some skeletal mesh animated don’t appear, changing the point of view and ZAP the mesh appear, in the right point of its animation.

So, I think the problem is that the disappearing mesh start his animation occluded by other static/skeletal mesh, and start culled, but after, the animation bring in a visible position the mesh, but it doesn’t exit the culling…

So: how do I totally deactivate the culling ? in my project I don’t have hardware limitation…

Thanks to you all for the support!

Hi Xmario,

This can be disabled by going to Project Setting > Rendering > Culling > Uncheck the box for “Occlusion Culling.”

Sorry, I forgot to mention that I’ve already deactivate the culling in that way…
(that why I titled “Fully deactivate”)

That’s my problem, I deactivate the Occlusion culling in the setting, but my animated mesh still don’t appear…

You can test whether occlusion culling has been disabled by doing the following:

  • use the ~ key and bring up the console window
  • type in r.visualizeOccludedPrimitives 1
  • You should see green bounds boxes for any objects that are occluded if Occlusion Culling is enabled in your project settings.

Should look something like this:

When Occlusion Culling is disabled in the Project Settings the green bounds boxes will not render because the meshes are being rendered continually.

There may be a bug or other issue going on here that you’re seeing on your end. Can you post a screenshot or video to demonstrate what you’re seeing?

Thanks!

Tim

1 Like

video

here is the video of the problem…

a little explanation:

this is a loop based machine, in this view you can see two mechanical arm, one that move the plate and the other that move a pair of vials.
as you can see, the loop is very simple: the arm fill the plate, the filled-plate is moved away, the empty-plate come in, and is moved in place for filling. stop and repeat from begin.

as you can see, as soon as the second cycle starts, the filled plate is not appearing. but if i move the camera, POP, it appears.
same problem is happening with the empty plate at the end of the loop, and with the two vials that fill the plate at the beginning.

all of this with culling deactivated

You could try increasing the bounds of the actor and see if that helps.

You can do this by going selecting the mesh that’s disappearing and in the details panel locate the bounds scale. The default value is 1. Try increasing this to 1.25 or 1.5 for starters. I wouldn’t imagine you would need to go higher, but you can try a higher value if that doesn’t seem to work. .

Judging from the video this is a archviz or engineering demonstration rather than game, so increasing the bounds for a scene like this should be well within the OK range. I wouldn’t necessarily recommend adjusting the bounds scale for games by significant amounts since this increase how long an object can stay in the scene.

Let me know if that works for you.

1 Like

that worked perfectly, thanks you! and I didn’t encounter performance drops. That’s by the way not a problem with the dedicated computer we’ve build for this project.

Thanks again!

By the way:

I resolved the problem with your idea, but with normal Bounds the problem is there, so, it’s a bug? you need more from me to help you to resolve this problem ?

Hi Tim,

I have the same issue here, that the project setting is set to "Rendering > Culling > “Occlusion Culling” disabled, but the target will disappear if the Bounds Scale is not big enough.
Is this a bug? or I misunderstant the meaning of the project setting?

@anonymous_user_a6184443

Doing a quick test on this, I’m not seeing the same issue. Can you provide more context to your issue along with any settings and a test situation in a blank level that clearly demonstrates what you’re seeing? That settings, from what I understand, should disable any culling, which is what I’m seeing in my test, even with the Bounds Scale set to 0, which should cause the mesh to start flickering or disappear.

Let me know.

With the “Rendering > Culling > Occlusion Culling” disabled, I added a Skeletal Mesh that has a animation. It’s bounding will change along to the animation. If I look at it’s body part away from the origin of the skeletal mesh(for example, tail), it will disappear. It won’t be disappear if I change the “Bound Scale” of the skeletal mesh to a larger number, for instance, 2.

I am using 4.10.2

1.Import a skeletal mesh

2.Look away from it’s center

3.If far enough, the tail pops out.

  1. Change the “Bounds Scale” to 2, it will show again

@anonymous_user_a6184443

Quickly looking at this I can reproduce this with the Skeletal Mesh character that is in the Engine/Content folder of the Editor. This isn’t an occlusion culling issue though, it’s related to the mesh not being rendered when looking away from the from the root bone of the skeletal mesh. This may or may not be a bug, but it’s not in the purview of this question. Can you post this in Bug Reports as a separate question and it can be investigated if this is intended behavior or not.

To rule out this being a Occlusion Culling issue you can use the method I described above with images and see that the mesh is actually being occluded when below the template floor or occluded by another object. When Disabled this no longer happens. This is all visible when using the console command r.VisualizeOccludedPrimitives 1.

Thank you!

Hi Tim,

I guess I really misunderstood the meaning of the occlusion culling setting.
I will not re-post it to the Bug Reports and take this behavior as default.
Thank you.