Isolates objects by removing paths not matching a filter from the scene.
The Isolate node does not work well with the
... wildcard in
PathFilters. Because of the way Gaffer generates scenes progressively
from the root, the Isolate node needs to know if the filter matches any
descendants (children, grandchildren etc) of the current location; if there
are any matches then the current location is kept, otherwise it is removed.
When faced with
..., the Isolate node assumes that there will always be a
descendant match because
... matches anything. This can cause it to keep
locations where in fact there may be no true descendant match. The only
alternative would be to search the scene recursively looking for a true
match, but this would defeat the goal of lazy evaluation and could cause
Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.
The processed output scene.
The on/off state of the node. When it is off, the node outputs the input scene unchanged.
The input scene
The filter used to control which parts of the scene are processed. A Filter node should be connected here.
The ancestor to isolate the objects from. Only locations below this will be removed.
Keeps all lights, regardless of other settings. This is useful when isolating an asset but wanting to render it using a light rig located elsewhere in the scene.
Keeps all cameras, regardless of other settings. This is useful when isolating an asset but wanting to render it through a camera located elsewhere in the scene.
By default, the bounding boxes of ancestor locations are automatically updated when children are removed. This can be turned off if necessary to get improved performance - in this case the bounding boxes will still wholly contain the contents at each location, but may be bigger than necessary.