All you need to know about occlusion culling

Objects that are obscured from a certain point of view are culled out using occlusion culling. This is accomplished by comparing scene nodes to a group of occluders. An occluder is a scene source (such as a wall) that obscures the view and prevents the view of objects behind it. Occluded scene nodes can be ignored during rendering. It significantly lowers the number of items that must be rendered. 

What are occluders?

An object that is big enough to obscure or concealed another object in the picture.

What are its properties? 

1. Smallest occluders: 

When using it, the size of the smallest object will be used to conceal other objects. An object which is smaller than this scale can never be culled if they obstruct other objects. With a value of 5, for example, all objects higher or wider than 5 meters would have concealed objects behind them culled (not rendered, saving render time). A good value for this property is a compromise between occlusion accuracy and occlusion data storage size.

2. Smallest Hole: 

This value reflects the smallest difference between the geometry that the camera is expected to see and the geometry that the camera sees. The diameter of an object that could pass through the hole is represented by this value. If your scene contains tiny holes that the camera should be able to see through, the Smallest Hole value must be less than the gap’s narrowest dimension.

3. Backface Threshold: 

Unity’s occlusion employs a data size optimization technique that tests back faces to eliminate unnecessary information. The default value of 100 ensures that back faces are never removed from the dataset. The data would be actively reduced based on locations with noticeable back faces if the value was set to 5. 

The idea is that legitimate camera locations will usually not see many backfaces, such as a view of the underside of terrain or a view from inside a solid object that you shouldn’t be able to reach. Unity will delete these areas from the dataset completely if the threshold is less than 100, minimizing the data size for the occlusion.

What do you need to plug in into this?

  • Develop and register with an app with a HUAWEI Developer account.
  • Based on the development guide, call and debug the plug-in in SDK APIs.

What are its Hardware requirements?

  • Personal Computer or Laptop.
  • Smartphone/Android phone that can be used for debugging.