0.59.7.0¶
Improvements¶
- Parent :
- Added
parentVariable
plug, to create a context variable that passes the parent location to nodes upstream of thechildren
plug. This allows the children to be varied procedurally according to what they are parented to. - Added
destination
plug, to allow children to be placed elsewhere in the scene while still inheriting the transform of the “parent”. This is particularly useful when parenting lights to geometry.
- Added
- Seeds : Added
destination
plug, to control where the points are placed in the scene relative to the meshes they are generated from. - Duplicate :
- Added
filter
input, allowing multiple objects to be duplicated at once. - Added
destination
plug, to control where the copies are placed relative to the original. - Improved performance for large numbers of copies.
- Deprecated the
target
plug. Please use filters instead.
- Added
- Outputs : Reduced the time taken to show the NodeEditor by around 90%.
- NodeEditor : The “Node Name” label is now draggable. For instance, it can be dragged to the PythonEditor to get a reference to the node or to the GraphEditor to find the node in the graph.
- GraphEditor : Improved framing of nodes dragged and dropped onto the GraphEditor :
- Changed pointer to indicate that framing will take place.
- Nodes are framed directly under the pointer instead of at the centre of the widget.
- Fixed framing of nodes not currently in the GraphEditor.
- Removed framing of plugs dragged to the GraphEditor. This was unintuitive and interacted poorly with the dragging of plugs to make connections. The NodeEditor’s “Node Name” label can be dragged instead to locate a node from the NodeEditor.
- SceneInspector : Improved history view :
- Added the full path to nodes so that nodes nested in Boxes can be identified.
- Added edit button to open a NodeEditor for nodes in the history.
- Fixed gap in between sections.
- FilterResults : Added
root
plug. This can be used to limit the results toroot
and its descendants. - CollectScenes : Added tab completion and a scene browser to the UI for the
sourceRoot
plug. - BackgroundTaskDialogue :
- Removed focus from “Cancel” button to make it harder to cancel accidentally.
- Added Esc cancellation shortcut.
Fixes¶
- Widget : Fixed drag handling bug that could cause
dragEnterSignal()
to be emitted again on a widget that had already accepted the drag. - FilterResults : Fixed bug handling matches at the root location.
- NodeEditor : Fixed activator and summary updates which were skipped if the layout was not visible when the node was edited.
- Dispatcher : Fixed dispatching when
dispatcher.batchSize
ordispatcher.immediate
are driven by context variables. - SceneNode : Fixed bug hashing the transform for the root location.
API¶
- SceneAlgo :
- Added overloads with
root
argument forparallelTraverse()
,filteredParallelTraverse()
,matchingPaths()
andmatchingPathsHash()
. - Deprecated
matchingPaths()
overloads takingFilter *
. Pass aFilter.out
plug instead. - Added Python bindings for
matchingPathsHash()
.
- Added overloads with
- ScenePlug :
- Added support for
..
instringToPath()
. - Added
stringToPath()
andpathToString()
overloads that return a result rather than passing it by reference.
- Added support for
- GafferUI.FileMenu : Added
dialogueParentWindow
argument toaddScript()
. - Spreadsheet : Added support for per-plug
ui:spreadsheet:selectorValue
metadata. This defines the initial value forselector
when the UI is used to create a spreadsheet for the plug.