Touch Excluder | Special interaction node to exclude subtrees from the intersection testing used to decide which interaction should be activated by a touch. |
In general, all meshes underneath an interaction node are considered during intersection testing to decide which interaction node a touch should be mapped to. However, there are quite often situations where a mesh should be underneath an interaction node so that is affected by the nodes behavior but at the same time it should be irrelevant for the intersection test itself. The typical example is a rectangle with a mostly transparent texture on it to add a small light effect on to a button. The rectangle will usually extend beyond the area of the actual button and might thus block a touch from getting to another mesh underneath it.
Another useful situation arises when the scene contains meshes with a large number of polygons. In such a case, it can be slow to intersect the viewing ray with each triangle. Instead, the rendering mesh can be put underneath an excluder and instead, a simplified intersection mesh can be added at the same level as the excluder. By adding an alpha node and setting it to 0%, the intersection test works efficiently on the simplified mesh but rendering will only show the complex mesh.
Note that all nodes underneath an excluder are skipped up to the point where another Interaction Node is encountered. This allows for some very complex dependencies between different interactions.