Announcement

Collapse
No announcement yet.

Selectively disable occlusion culling for actors

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Selectively disable occlusion culling for actors

    Hello,

    I've spent a day trying to fix this through googling and have hit a dead end. I've got these simple spotlight meshes with baked animations behind some buildings. They're culling in parts of their animation where they are most occluded by the buildings in-front of them.

    I've tried turning occlusion off at a project level (which is not feasible for this project obviously), this largely fixed the issue. My understanding is that the project settings check-box disables all methods of culling in use by the engine.

    Turning HZB occlusion off didn't help.

    Increasing bounds of the mesh didn't help, even increasing it to 1000% of its default didn't help.

    From what I've gathered, this problem is difficult to solve in UE4 and the best direction toward a solution I've been able to find was through some material-magic involving pixel depth, which sounded fairly instruction-expensive.

    Please, any help is very much appreciated, thank you!

    ______________________________________What I've Tried________________________________________

    -Project Settings > Rendering > Occlusion Culling
    Can tell it disables all culling methods, the front beam stays visible through its animation. Beam behind it still culls. This is not a viable solution anyways, obviously.

    -
    Expanding actor render bounds scale
    People say you should just have to nudge this beyond the default 1.0. I've got it at 20 and that helped the culling marginally. Still no where near solved.

    -
    Adding spans along the length of the mesh
    Splitting the mesh several times along its length did not help.

    -Removing occluder flag on building in front of the actor
    Unchecking "Use as Occluder" did not help.
    Last edited by Feracon; 06-10-2019, 07:46 PM.

    #2
    Hi. I have just struggeled with the same issue.
    The explaination of what is going on, is something like this...

    Any actor or component that has it's bounds outside of the camera. Will be culled (aka set to not visible)
    This is to save performance on rendering calls. Which is usually a good thing.

    The bounds can be increased to extend infront of your camera, even if it's blocked by something.
    By setting a custom Bounds Scale value to a large number. (keep in mind this is multiplied with the transform scale in most cases)
    If you need custom bounds, its usually a good idea to set the transform scale to used fixed world scale 1, 1, 1 if you can.

    By default, each component calculates their own bounds.
    This can be set to share its parents bounds using the Use Attach Parent Bounds option.
    (Ps. if you enable this, the parent's transform scale might also affect the final bounds!)

    The bounds are usually calculated to contain everything that is visually represented.
    Take particles for example. They should stretch approximatly to the edge of where the particles despawn.
    How ever, this may vary both over time and per component!
    You can see the bounds of your selection if you enable Show > Advanced > Bounds in your viewport settings.

    Comment


      #3
      I had just encountered the issue with a FBX of two separate meshes. Only one physics bound was calculated for one of the objects and that caused the other to be culled when the physics bound wasnt in view. Increasing the bound to encompass both helped in my case. It should be the same as what you are going to see as bounds in the world scene.

      Comment

      Working...
      X