09 December 2024
These release notes describe changes from Katana 7.0v4 to 8.0v1.
For a high-level overview of important changes in the Katana 8.0 line, please see the accompanying What's New in Katana 8.0 document.
Exporting from USD is now possible in Katana. The core of exporting from the native USD stage is built around two new native USD nodes: UsdLayerDefine and UsdLayerExport.
Setting up the export process can be done by placing down a UsdLayerDefine node, a UsdLayerExport node and connecting the UsdLayerDefine's output port to both inputs on the UsdLayerExport node. Any additional stage manipulation that happens on the right branch forms the export layer and the left branch should remain empty.
Additionally, to collapse a selection of nodes into a new UsdLayerExportGroup node through the Node Graph tab's menu option Edit > Collapse Selected Nodes to UsdLayerExportGroup. This automatically connects the selection between UsdLayerDefine and UsdLayerExport nodes while their respective parameters are promoted to a newly created UsdLayerExportGroup node. This allows for node graph organization and access to export settings without having to dive into the node network. The UsdLayerExportGroup node can also be created by more traditional means.
Two new shelf scripts have also been added to quickly enable or disable the useExported toggle on all UsdLayerExport nodes in the project.
Finally, A new UsdLayerExporter Plug-in system has been added to provide access to the USD layer prior to exporting. This can be used for modification, validation, or performing any action on the layer in memory before exporting. More information is available in the Developer Guide under Usd Processing Engine > UsdLayerExport, with examples in: <KATANA_ROOT>/plugins and available through a new KATANA_RESOURCES subfolder, /UsdLayerExporterPlugins.
Katana completes its USD roundtrip toolset with the addition of the KatanaToUsd node. Together with the UsdToKatana node, Katana workflows can be fully leveraged alongside USD. The KatanaToUsd node converts Geolib data to USD data without the need to bake out layers.
This node supports all types of material conversion, including those created and/or edited within the Material, NetworkMaterialCreate and NetworkMaterialEdit nodes. Additionally, lights are converted to its USD counterpart, as long as a matching shader identifier is found in the USD shader registry.
The KatanaToUsd node converts all mesh types to USD data, including subdivided meshes. FaceSets are converted to its USD equivalent; UsdGeomSubsets. Additionally, conversion of sampled information is also supported, such as multi-sampled and time-sampled attributes.
The KatanaToUsd node allows for generic conversion of Katana to USD attributes, to allow the transfer of custom attributes. Further information on this, as well as the attribute convention can be found in the developer guide, under <KATANA_ROOT>/docs/dev_guide/UsdProcessingEngine/KatanaToUsd/index.html.
The KatanaToUsd node provides several options including:
Bringing the power of CEL to Katana's Native USD space with Pattern-Based Collections.
Pattern-Based Collections was introduced in USD 23.11 and is now fully integrated into Katana, with the addition of a new Pattern-Based Collection (PBC) widget and the UsdCollection node.
A new PBC widget has been added to the relevant USD nodes in Katana, such as the UsdActiveSet, the UsdVariantSet, the UsdRelationshipSet nodes and many more.
Similar to Katana’s pre-existing Collection Expression Language (CEL), USD’s Pattern-Based Collections (PBC) includes the following functionality:
The new UsdCollection node has two modes, that are found in the action parameter’s dropdown:
Finally, a new PBC Scratch Pad tab can be used in a similar way as the CEL Scratch Pad tab. When searchCollapsedLocations is enabled, the pattern is matched against collapsed primitives in the Scene Explorer. When disabled, the result only shows expanded prim paths.
Collections are now supported in the Scene Explorer tab for both Geolib and USD using a new Collections panel above the main scene tree which is controlled through a new Collections Working Set.
By default, the visibility of the Collections panel is hidden. The expansion of this panel can be toggled by clicking the Collections icon at the top of the Scene Explorer tab, located in between the Katana and Bookmark options; this Collections panel will remain empty until a Collection is added from the Collections working set.
A Collections working set was also added against Katana locations and USD prim paths to indicate where one or more collections are present. To view which collections are available, click the collection icon in the collections working set. Once selected, the collection is displayed in the Collections panel above. Any selected collection in the working set can also be saved as a bookmark.
Any right-click action made on either a Geolib or USD Collection within the Collections panel will display the same menu items previously seen on a Collection in the Scene Graph tab. Once a selection is made on any Collection in the Collections panel, will either highlight any location or prim contributing to a Collection in the scene tree, otherwise it will display them in a secondary window.
In the Scene Explorer tab, the styling for the tree lines have been modified to indicate:
Additionally, font styling is used to indicate the following:
Several new native-USD nodes are now available as part of Katana's USD offering.
The Attributes tab now supports USD prim and property metadata. This includes:
A first version of USD native camera and light locators can now be seen in the Viewer tab. This provides a visual representation in the Viewer tab for the following prim types:
Additionally, prims which have the applied API schema LightAPI
, MeshLightAPI
and VolumeLightAPI
will use a generic locator.
An example plug-in that demonstrates how custom USD viewer locators can be created is available in the installation directory at <katana_installation_path>/plugins/Src/ViewerPlugins/ExampleUsdSpatialAudioLocator
.
Within the Look-Through Lights and Cameras menu dropdown in the Viewer tab, USD cameras can now be selected as the looked-through camera. By default, the dropdown shows cameras that are part of themodel hierarchy. This is for performance reasons to save traversing the entire stage. To ensure cameras are part of the model hierarchy, they (as well as their ancestor prims) require their kind to be set to group, component, or assembly. Alternatively, an option is available to enable traversal of the entire stage, removing the need for the prims to be specified in the model hierarchy, this option is under the Look-Through Lights and Cameras menu under the Full USD Traversal checkbox option.
We can now use Viewer transform manipulators against USD native prims, the nodes that support this feature are as follows:
A makeInteractive parameter was added to allow interactive manipulation in the Viewer tab, which is set to Yes by default. When active, viewer manipulators can be obtained through the UI in the Viewer tab, or the use of shortcuts to Translate 'W', Scale 'E' and Rotate 'R'.
Interactive transformations against USD prims are available exclusively when the mode parameter is set to Single Path. When set to multiple prim paths, interactive transformations through the Viewer are currently unavailable.
With these additions, the following changes were made to the UsdTransformSet node:
Katana's Node Graph traversal process has largely been ported over from Python to C++ for efficiency. Artists will notice improvements in interactivity when larger Node Graphs are being evaluated, most notably when changing a parameter within a node.
This update may introduce breaking changes, however, this only applies to custom actions created after Katana 6.5. These changes impact the following areas:
onTraversalVisit()
method
The Performance tab now has a Python Profiling section that provides a simple interface for collecting and displaying Python profiling data of the application. This can be accessed using the dropdown menu at the top of the Performance tab.
To begin a profile, click the Profile button to begin and then click the Profile button again to see the results. By default the profile results are sorted by the function with the most expensive cumulative time. This can be adjusted by selecting any of the available column headers to sort the results in ascending or descending order. These layout changes will not be saved and the sort order reverts back to the default state once the Performance tab is closed.
For more details on each function listed in their results, a right-click menu is available to review either Callers and Callees contributing to the selected function call. These will be shown in a popup window, with the option to swap results between Callers or Callees using the buttons on the right-hand side of the popup window.
As part of this release, we have updated to VFX Reference Platform 2024. Some highlights of the specific versions are included below but for a complete list, please refer to the Developer Guide.
VFX Reference Platform 2024 | Katana 8.0 | |
---|---|---|
GCC | 11.2.1 | 11.2.1 |
glibc | 2.28 | 2.28 |
Windows Toolset | Visual Studio 2022 | Visual Studio 2022 |
Windows SDK | 10.0.20348 | 10.0.22621 |
Python | 3.11.x | 3.11.7 |
Qt | 6.5.x | 6.5.3 (modified) |
PySide | 6.5.x | 6.5.3 |
OpenEXR | 3.2.x | 3.2.1 |
OpenSubdiv | 3.6.x | 3.6.0 |
Alembic | 1.8.x | 1.8.6 |
OpenColorIO | 2.3.x | 2.3.1 |
Boost | 1.82 | 1.82.0 |
Intel TBB | 2020 Update 3 | 2020 Update 3 |
OpenVDB | 11.x | 11.0.0 |
NumPy | 1.24.x | 1.24.x |
Outside of the VFX Reference Platform, we have also updated to USD 24.05, in addition to moving to PySide.
USD prim properties in the Attributes tab are now grouped by namespace when present.
A help button is now available next to USD Relationships in the Attributes tab when the relationship features documentation metadata.
Type name of USD Attributes are now shown in the attribute tool tip in the Attributes tab.
New USD-based projects and extended workflows are now available in the Help > Example Projects tab. This includes:
In the Node Graph tab, shake selected nodes with the mouse to extract them from any connected nodes.
The version of 3Delight that is bundled with Katana has been upgraded from version 2.9.53 to version 2.9.122. For more information, refer to the 3Delight for Katana Changelog.
Trailing ellipses have been removed from labels of some actions that do not require further user input, such as 'Collect and Select...'.
A new method for utilizing a custom USD with Katana has been implemented called the FnUsdShim. The FnUsdShim performs the same actions as FnUsdAbstraction used to. This aligns with Nuke's system of adding external USD's.
A new ReadMe.md for building FnUsdShim against your custom USD has been included in <KATANA_ROOT>/plugins/Src/FnUsdShim/ . This also details how to enable it within Katana.
In an interactive session, USD Native engines will write to the default time sample in order to boost performance when viewing static attributes over frame changes. An additional dynamic graph state variable usdnative:forceTimeSamples can force time samples.
ID 526705 - In the Viewer, the Look-through menu UI would truncate the shown path on the right hand side, obscuring the name of the location if the path is a certain length. This is now truncated at the start of the path, allowing the location name to be seen at all times.
ID 511129 - In the Katana Developer Guide, a number of mishandled markup artifacts were present. These have now been removed.
ID 578544 - Changing Display/Render delegate to AVP in the of the Viewer tab would cause logging information to be spammed in the terminal.
ID 572476 - Alembic assets that had commas or semi colons in their location when loaded in Katana caused an issue on conversion to USD with the KatanaToUsd node. During conversion these characters are now converted to underscore.
ID 585187 - KatanaToUsd camera conversion options have been replaced with more options to specify the unit (either mm or cm) of the aperture and focal length of the camera. The default values of these options are now aligned with most Alembic camera units.
ID 587143 - When converting a scene with the KatanaToUsd node, children below the ignorePaths parameter were converted.
ID 587149 - The KatanaToUsd node caused large slowdowns due to incorrectly updating on every traversal.
ID 588253 - Screen window parameters on the CameraCreate node were not converted correctly into horizontal/vertical aperture under the info.abcCamera attributes.
ID 588761 - The KatanaToUsd node did not respect TimeOffset nodes which were the direct first input to the node when resolving the incoming Katana scene to convert.
ID 578154 - When adding paths to a PBC wizard and selecting/appending in SceneExplorer or displaying results, those actions were not happening.
ID 587138 - Errors were being logged to the terminal when pressing a keyboard modifier while a collections panel widget in the Parameter tab for a USD node with a PBC parameter.
ID 587045 - Clicking the 'Show Help' button (question mark icon) next to a parameter in the Parameters tab brings up a dialog window with some relevant help text. When a Scene Explorer tab was open and showing, this help text would take a long time to load (~5 seconds).
ID 589394 - When serializing large Op trees to bytes, performed by the KatanaToUsd node, the SerializeToBytes function was not performant. This caused considerable delay when interacting with the node graph.
ID 576088 - When interacting with the UsdScenegraph in the Python tab, via NodesUsdAPI.UsdScenegraphManager.getActiveScenegraph(), UsdScenegraph.ensureLocationVisible() would expand all upstream locations except the USD pseudo-root location '/'.
ID 588676 - When interacting with the UsdScenegraph in the Python tab, via NodesUsdAPI.UsdScenegraphManager.getActiveScenegraph(), UsdScenegraph.openLocationsRecursive() would have no effect.
ID 587782 - Katana would become unresponsive when setting Layouts > View Fullscreen option to active (Windows only).
ID 564151 - The Stage retained by the Viewer could go out of sync when parameters were rapidly updated causing spurious expired Prim messages.
ID 585981 - When the user launched Katana with PrmanRender delegates to Create PxrLight, the input parameters of the PxrLight were not in alphabetical order.
ID 556419 - When moving between nodes using the Viewer flag, USD Native nodes that had the same parameters were not re-evaluated correctly in the Viewer.
ID 585636 - USD native nodes and traversal were not affected by changing time in the TimeOffset node.
ID 588106 - An unused USD session layer has been removed from the global USD stage; no behavior change is expected. Performance of the global stage composition should have marginally improved.
ID 587278 - Katana crashed when viewing the scene from a node where a UsdSkel primitive is also present.
ID 587349 - The Stage parameter policy did not support having multiple parameters with that policy on the same node well. We have re-designed the data source of this policy to minimise the calls to get the USD stage.
ID 588711 - UsdTransformEdit could undesirably remove `xformOp`s from the `XformOpOrder` if it did not edit them.
ID 583978 - When the Validate Locations checkbox in the camera picker popup in the Viewer tab was checked and then unchecked, while the viewed node graph did not have any node contributing to the 3D scene, an exception was raised.
ID 585904 - When the viewed node graph did not include any contributing Geolib-based node, the camera picker in the Viewer tab could present a permanent spinning wheel wrongly indicating that the scene was still being cooked.
ID 587317 - When prim states in the Payload Working Set were updated, the viewer and other components could miss the change as a change event was not emitted.
ID 589027 - The Attributes tab doesn't currently update animated attributes or properties values from an incoming USD scene. Flushing caches resolves the issue.
ID 585063 - When an unrecognised combination of mouse and keyboard shortcuts are used, an error is raised. This occurs within the Alpha 3 of Katana 8.0.
ID 587519 - When opening a new scene while the Parameters tab's Included Outputs floating menu is still active for a render node, errors are printed to the terminal.
ID 587397 - When using the Monitor layer in the Viewer tab, the look-through camera is incorrectly shown as "Unknown Camera".
ID 589499 - When connecting a UsdToKatana node either directly or indirectly to a UsdPythonWrite node, and with the pseudo root prim path "/" included in the primPath parameter, will crash Katana when viewed.
ID 588881 - The pivotTranslate parameter on the UsdTransformEdit node currently have no effect.
ID 587515 - The Centre of Interest manipulator is currently not supported in conjunction with USD prims.
ID 586965 - USD's stitch method for stitching layers doesn't retain blocked attributes.
ID 579376 -
Currently, Pattern-Based Collections does not support the use of the include and exclude widgets in conjunction with the membershipExpression widget on the UsdCollection node. This is due to a known issue with USD 24.05. NOTE: More info can be found on the USD thread: https://forum.aousd.org/t/problems-with-pattern-based-collections/1197/7. Katana's Pattern-Based Collection widget computes collection membership using membership expressions, therefore it does not currently handle relationship-mode collections correctly (statement true for USD 24.05).
ID 580249 - Manipulating transformations for both Geolib and USD locations/prims at the same time (driven by their respective transformation nodes set to interactive) is currently not supported.
Minimum | Recommended | |
---|---|---|
CPU | Dual-core processor | |
Storage | 2.5+ GB available for installation | |
System RAM | 1+ GB available | |
Graphics RAM | 1+ GB available | 2+ GB available |
Display | 800 x 600 | 1920 x 1080 |
OpenGL | OpenGL 4.5+ (see note below) |
The configurations listed below are those that Foundry have tested with Katana. Due to the constantly changing nature and wide variety of computer hardware available in the market, Foundry is unable to officially certify hardware. The list below can be used as a recommendation and does not guarantee that it meets your particular needs.
NVIDIA Quadro RTX 4000
NVIDIA Quadro RTX A4000
NVIDIA Quadro RTX A3000
NVIDIA Quadro P4000
Please download and install the latest graphics driver from the NVIDIA website.
If you encounter any issues, please contact Customer Support directly through the Support Portal at the following address: https://support.foundry.com.
Copyright © 2024 The Foundry Visionmongers Ltd.