Is it possible for the Blender Game Engine to hide any vertices/faces currently not visible to the camera in order to optimize game performance? This would be for parts of meshes specifically.
2 Answers
Yes, it can. This is done by using the Occlude
physics type; this makes an object hide all other objects (or parts of objects) behind it. This does, however, mean that it can only be applied to Static (physics type) objects, since an object can't have two physics types, and the Occlude type works like the Static type (i.e. it doesn't move).
Keep in mind that:
- If the occluders are small and don't hide many objects.
- In that case, occlusion culling is just dragging your CPU down).
- If the occluders are large but hides simple objects.
- In that case you're better off sending the objects to the GPU).
You can read the wiki for more details about performance.
To build on @someonewithpc 's answer;
This is generally used to set up render zones where static doors or walls with occlude enabled hide rooms with complex geometry.
Another way is to parent an occlude to the back of the head of you character; This will hide pretty much everything you can't see.
-
$\begingroup$ Could you please elaborate on the second way, which involves parenting an occluding object to the character? $\endgroup$– DroidgeJan 10, 2016 at 14:36
-
$\begingroup$ I'm sorry, I wrote this answer a while ago and more extensive testing shows that the second way does not work. :-( $\endgroup$– ruckusJan 11, 2016 at 17:55