Search Tips

Search is based on keyword.

`Ex: "Procedures"`

Do not search with natural language

`Ex: "How do I write a new procedure?"`

Give Feedback Support Portal

# Katana 3.0v2 Release Notes

# Release Date

17 July 2018

# Previous Releases

• Katana 3.0v1 Release Notes

# System Requirements

## Officially Supported Operating Systems

- Windows 7 64-bit or higher
- Linux 64-bit operating system (CentOS/RHEL 6)

## Hardware Requirements

| Minimum | Recommended
--- | --- | ---
CPU | Dual-core processor
Storage | 1+ 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.3+

'Recommended' does not guarantee that it meets your particular needs

## Tested Workstation Hardware

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 M4000

- NVIDIA Quadro P4000

- NVIDIA Quadro K4000

- NVIDIA Quadro K6000

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.

# What's New in Katana 3.0

These release notes describe changes from Katana 3.0v1 to 3.0v2.

For an overview of all changes in the Katana 3.0 line, please see What's New in Katana 3.0.

# Feature Enhancements

## Hydra Viewer

- TP 333021 - The Hydra Viewer now supports visualizing facesets. Facesets that are selected in the scene graph are now displayed colored in the Hydra Viewer.

- TP 307471 - The Hydra Viewer now supports pan and zoom. This can be enabled via the Toggle Pan/Zoom Controls button in the bottom right of Viewer (Hydra) tabs.

  NOTE: This new functionality differs from the old Viewer tab's. Panning controls are half as sensitive, as the viewport screen co-ordinates go from -1 to 1. Zoom controls have inverted behaviour from the Viewer tab's overscan controls; as zoom number increases, the camera zooms in

- TP 348821 - The Hydra Viewer now supports stereo mode controls. This allows assignment of a left camera and a right camera, and toggling between main, left and right cameras.

- TP 348818 - The Hydra Viewer now supports display of object annotations, which can be added via ViewerObjectSettings nodes.

- TP 343407 - It is now possible to drag-and-drop scene graph locations and face selections from the Viewer (Hydra) tab to other parts of Katana.

  Using Shift + Middle Mouse, a selected location can be dragged to a string parameter in the Parameters tab, or a set of selected faces can be dragged into the Node Graph tab to create a FaceSetCreate node, or to the faces parameter of an existing FaceSetCreate node. The Selection toolbar buttons can also be dragged using Middle Mouse, with the same results.

- TP 317414 - It is now possible to look through a selected object by clicking the Look Through Selected Object tool button or pressing the V key (with the pointer over the Viewer (Hydra) tab).

- TP 352148 - The display of bounding boxes in a Viewer (Hydra) tab can now be toggled by pressing the B key.

  The keyboard shortcut can be customized by creating or modifying a shortcuts.xml file in the user's home directory. Please refer to the Katana Online Help for details.

- TP 350981 - It is now possible to specify the priority of a custom manipulator via a new kTagPriorityInGroup tag of the ManipulatorPluginBase class. Standard manipulators have been provided with the following priorities: Translate: 1000, Rotate: 900, Scale: 800, Center of Interest: 700.

- TP 340171 - It is now possible to cycle through manipulators that share the same keyboard shortcut in the Viewer (Hydra) tab.

- TP 344114 - It is now possible to disallow activation of a manipulator based on selected locations and information from the viewer delegate.

  The Viewer (Hydra) tab (and other BaseViewerTab-derived tabs) gain installManipulatorFilter(callable) and removeManipulatorFilter(callable) methods. The supplied callable's signature should match myFunction(manipulatorName, selectedLocations, viewerDelete) --> bool, and return True if the manipulator is to be filtered out. The following example can be entered in the Python tab:

      def disallow(manipulatorName, selectedLocations, viewerDelegate):
          return True

      tab = UI4.App.Tabs.FindTopTab("Viewer (Hydra)")
      tab.installManipulatorFilter(disallow) # manipulator goes away
      tab.removeManipulatorFilter(disallow) # manipulator comes back

  The callback may be registered in a ViewerPluginExtension's onTabCreated() method.

- TP 354033 - The Show Only Objects from 'Viewer Visibility' Column of Scene Graph Tab tool button in Viewer (Hydra) tabs has been moved from the toolbar below viewports to the top right of the tabs, as the toggle applies to the entire UI session, not to individual viewports.

## Other Feature Enhancements

- TP 17600 / BZ 19718 - Text that is selected in the Render Log tab can now be copied to the default clipboard buffer by pressing Ctrl+C, then pasted into text editing widgets in Katana or other applications by pressing Ctrl+V.

  Previously, on Linux only, selected text was automatically copied to the selection clipboard buffer only, and could be pasted into text editing widgets by pressing the middle mouse button.

- TP 226663 - The following two Python functions have been added to the UI4.App.MainWindow module, in order to allow developers to customize the main window title and the text of the asset ID label at the top right of the main window:

  - SetMainWindowTitleCallback(mainWindowTitleCallback)
  - SetAssetIDLabelTextCallback(assetIDLabelTextCallback)

  The new functions can be called from a Katana startup script to set up callbacks that are to be called when the title of the Katana main window and the text of the asset ID label in the main window are to be determined, e.g. in response to changes to the value of a parameter.

  Callbacks registered using the new functions are expected to receive a boolean argument indicating whether the Katana project has been modified in the respective session, and are expected to return a string for use as the main window title or asset ID label text, respectively.

- TP 347884 - A dedicated node type icon has been added for VariableEnabledGroup nodes.

# Performance Improvements

- TP 339237 - The BoundsPropagateToAncestors Implicit Resolver Op unnecessarily forced /root/world to be cooked when cooking. The resolver now operates only within the scope of /root/world.

- A fix for QTBUG-7618 (QTimer consumes too much CPU) was applied to the build of Qt 4.8.5 that is used in Katana 3.0, thereby reducing Katana's CPU usage when the application is idle.

# 3Delight Improvements

3Delight has been upgraded from version 13.3.14 to 13.4.9. For more information, refer to the 3Delight Studio Pro Changelog.

# Bug Fixes

## Hydra Viewer

- TP 339760 - The representation of objects (such as whether flat shading is used) was not correctly restored when leaving face selection mode.

- TP 339988 - Removing the geometry attribute from an unselected location did not remove the object from the viewport.

- TP 340122 - Several issues have been addressed in HydraViewerTab.setCamera():

  - Fixed an issue where calling setCamera() would not update the label correctly.
  - Fixed another issue where a suspicious entry ("__location") was added to the camera list after calling setCamera().
  - Improved setCamera() so that it can take the viewport argument as:
    - int (index of the viewport)
    - str (name of the viewport)
    - Viewport (Viewport instance)
    - ViewportWidget (widget that holds the Viewport instance)

- TP 340124 - Editing face selection mode color preferences turned the object wireframe white.

- TP 342619 - With locator locations selected in the Scene Graph tab, newly opened Viewer (Hydra) tabs did not display such locations as selected. FnBaseLocator did not account for currently selected locations at initialization time.

- TP 344940 - BaseViewerTab-derived tabs, such as the Viewer (Hydra) tab, did not refresh when implicit resolvers were toggled.

- TP 346989 - Moving a looked-through camera behaved unpredictably when the camera location or its ancestors contain several transformation groups.

- TP 347568 - In face selection mode, selected faces were not highlighted when the object had a material assigned.

- TP 348968 - Changing a location's type did not update the viewport.

- TP 349240 - subdmesh locations were rendered with faceted subdivision when vertex normals were present.

- TP 349458 - Changing a location's type to 'pointcloud' did not update its representation in the Hydra Viewer.

- TP 349470 - Changes to the size of a pointcloud's widths attribute, for example when scrubbing the timeline, were not reflected in the Hydra Viewer.

- TP 349474 - The default width of points in point clouds was too high. It has been reduced to 0.2.

- TP 349574 - A tearing effect was apparent when dollying close to a point cloud's point. This has been resolved by clamping the maximum point size that Katana displays.

- TP 349578 - Point clouds were not highlighted when selected.

- TP 349706 - Geometry colors were not handled robustly. Specifically:

  - Changes in color were not detected
  - Changes from constant to non-constant color threw errors
  - Per-face and per-vertex colors were not supported
  - In some cases Katana could crash while processing color data.

- TP 350656 - When loading a Katana layout of panes with tabs, the state of the vertical toolbar in a Viewer (Hydra) tab was not restored correctly, if the toolbar was turned on but the tab was hidden while the layout was being saved.

- TP 351490 - The Hydra Viewer used an unreasonably high number of samples for anti-aliasing, resulting in performance problems. The maximum number of samples is now capped at 16.

- TP 351609 - The plugins/Src/ViewerPlugins/BallLocationType/README file in the Katana installation directory referred to the wrong target folder for placing the Python script file: KATANA_RESOURCES/Plugins should have been KATANA_RESOURCES/UIPlugins.

## Other Bug Fixes

- TP 113636 / BZ 49215 - The state argument passed along for katana_fileDirty events was wrongly given to Katana event handlers as 0 when the KatanaFile.SetFileDirty() function was used to mark the Katana project as having been modified. It was also given wrongly as boolean values True or False instead of integer numbers 1 or 0 when pushing and popping the file dirty state to an internal stack using KatanaFile.PushFileDirtyState() and KatanaFile.PopFileDirtyState().

- TP 128787 / BZ 51697 - When setting the location parameter of a CollectionCreate node to a scene graph location path other than /root, and dragging scene graph locations into the CEL parameter, that target location path was not removed from the paths of the dragged scene graph locations to turn them into relative paths, resulting in the created collection not matching the desired locations.

  As part of fixing this issue, we've added a warning icon to scene graph location paths in Paths statement panels that begin with the value of the location parameter.

- TP 217264 - The display of global Graph State Variables did not update when the value of an expressioned variable changed, for example when changing the current time/frame.

- TP 234738 - The Find and Select in Scene Graph and Collect and Select commands in the jump button menus of panes of the CEL parameter editor widgets in Parameters tabs did not work for CollectionCreate nodes that create collections under scene graph locations different to /root.

- TP 239532 - The table of assets in an edited Importomatic node in the Parameters tab did not update when flushing caches, or when changing the value of a global Graph State Variable that was referenced in an asset ID parameter expression.

- TP 315699 - The Monitor tab could display inaccurate colors due to Katana's default OCIO 3D LUT edge size being set too low. The fix involves changing the default value of the KATANA_OCIO_LUT3D_EDGE_SIZE environment variable to 64.

- TP 325732 - The Copy as XML command in the context menu of keyboard shortcuts in the Keyboard Shortcuts tab did not work reliably.

- TP 340524 - In certain system configurations, and with certain plug-ins present, OpenGL failed to initialize and Katana showed the Error Initializing OpenGL dialog on startup.

- TP 343574 - Names of materials loaded via look file references were illegible in the parameter interface for MaterialStack nodes.

- TP 345612 - If an event handler registered via Katana's EventModule module threw an exception not derived from StandardError, other events being processed might never be delivered to registered handlers. Katana now catches and logs any exception thrown from an event handler, provided it is derived from Exception.

- TP 346543 - Error messages that were shown when attempting to call certain Nodes2DAPI functions with incorrect arguments contained various small errors and typos.

- TP 349061 - Manipulator keyboard shortcuts did not function when several Example Viewer tabs were opened.

- TP 349752 - When attempting to build plug-ins that depend on the IlmThread library using Katana's CMake utilities in the plugins/Src/ directory, the build failed due to linker errors due to undefined pthread references. IlmThread depends on the Threads library, which is now reflected in the plugins/Src/cmake/FindOpenEXR.cmake file.

- TP 350398 - An example script in the Connecting Nodes topic in the Katana Developer Guide raised a NameError when run.

- TP 351086 - When compiling against the FnGeolib plug-in API using the -Wconversion command-line option, a compilation error occurred in FnGeolib/util/Path.cpp.

- TP 351508 - The set of implicit resolvers displayed when clicking Implicit Resolvers Active omitted MaterialUnderlayAttributesResolve and BoundsPropagateToAncestors.

- TP 352189 - If GroupBuilder:build() method returned an empty group attribute, the builder's groupInherit state was not reset to the default. This could cause a subsequent build() operation to return a group attribute with the wrong groupInherit state.

# Other Changes

- TP 306419 - UVs and normals on polymesh-based primitives available from the PrimitiveCreate node's parameter interface have been improved. nurbspatch-based geometry has been removed from the list of available primitive types; PrimitiveCreate nodes using nurbspatch geometry in existing saved projects continue to function as before.

- TP 347549 - A new UI4.App.MainWindow.GetMainWindow() function has been added, which should be used for new code instead of the still-existing UI4.App.MainWindow.CurrentMainWindow() function, which is now documented as being deprecated.

- The PyUtilModule.RenderManager.StartRenderLegacy() function has been deprecated. The StartRender() function from the same module should be used instead, passing an instance of RenderingSettings to it to define the settings to use for rendering.

# Known Issues

## Hydra Viewer

- TP 356223 - The Live Render from Viewer Camera button does not reliably update a Live Render when looking through a light or implicit (non-scene) camera. In some cases, interacting with the viewport will force an update.

- TP 316771 - The Hydra Viewer does not observe light linking.

## Live Groups

- TP 85118 / BZ 41152 - When editing parameters of a node that is part of a LiveGroup node and reloading the parent LiveGroup node, the UI state of the Parameters tab is reset. This includes scroll bar positions, selections of items, and selections of nested tabs (for example Object, Material and Linking tabs for a Gaffer node).

- TP 84998 / BZ 41092 - When reloading a LiveGroup node's parameter interface and contents from its source, parameters of child nodes that are edited in floating panes disappear from those panes.

- TP 84020 / BZ 40598 - Reverting a LiveGroup node does not revert its user parameters.

- TP 84019 / BZ 40599 - Parameters that are added to LiveGroup nodes are wrongly discarded when performing a reload from source, leading to loss of data.

- TP 84018 / BZ 40600 - Undoing a revert of an unpublished LiveGroup node does not restore the LiveGroup's editable and modified state.

- TP 83061 / BZ 40237 - Nodes can be dragged into the Group bubble of a non-editable LiveGroup node.

## Materials

- TP 269449 - Choosing Edit Shader Parameters from the main wrench menu of Material nodes does not show wrench buttons next to shader parameters. This can be worked around by toggling the edit flag on the node.

- TP 199304 - The namespace parameter on Material nodes wrongly allows the insertion of Unicode codepoints outside the ASCII range.

- TP 191052 - Katana does not have any support for the texture reference object workflows of V-Ray for Maya.

## Node Graph

- TP 56545 / BZ 28549 - Main menu commands that create nodes, notably File > Import..., File > Import LiveGroup..., and Help > I want a pony, do not create the nodes in a Group or LiveGroup node that has been entered in a Node Graph tab, instead they create the nodes in the root level of the node graph document.

## Parameter Expressions

- TP 188533 - Expressions linked to non-local parameters on not previously edited Material nodes can't be evaluated.

- TP 105434 / BZ 47520 - Reference Expressions may not refer to dynamic parameters such as shader parameters.

- TP 60457 / BZ 31790 - Setting an array or group parameter to an expression results in an invalid expression. Upon setting a valid expression (for example, an evaluation of an equivalent parameter on another node using getParam), the parameter is not immediately updated. To workaround this issue, close and reopen the parameter, or flush caches while the node is not edited.

## Rendering

- TP 344118 - (Windows only) When installing Katana and opting to install the bundled version of 3Delight, the installation of 3Delight is made by modifying system-wide environment variables such as KATANA_RESOURCES. Thereafter, launching any version of Katana will pick up this installation of 3Delight, which may be incompatible with the version of Katana being launched.

  NOTE: This does not affect Linux, where a bundled 3Delight installation is tied to its corresponding Katana installation.

- TP 208802 - Closing the Histogram tab after use leaves the Monitor tab unable to display rendered images.

- TP 176598 - Use of nodes that modify Graph State Variables in Interactive Render Filters is not currently supported.

- TP 114182 / BZ 49288 - When exporting a Catalog item you need to specify the export folder path to an existing folder. If the folder you're trying to export to does not exist on disk Katana will fail to export.

- TP 94052 / BZ 44199 - The Repeat Previous Render menu command only works on renders started from a 3D node's context menu.

- TP 74799 / BZ 36926 - The rendererSettings > displayOptions parameter of a RenderOutputDefine node for the PRMan renderer, shown when its type parameter is set to 'raw', cannot be set using the Parameters tab.

- TP 65242 / BZ 34870 - Katana doesn't support render output directory creation for shadow, merge and script output types.

- TP 12517 / BZ 16168 - Only one Monitor tab may display the results of a Preview Render. The use of multiple Monitor tabs is not currently supported.

## Widgets

- TP 123558 / BZ 50911 - When changing an array parameter's tuple count/size, any corresponding attributes are not properly updated in the Attributes tab.

- TP 65347 / BZ 34949 - Using Compiz can lead to text fields not receiving focus events correctly due to an incompatibility between Compiz and Qt. Depending on your configuration, disabling Compiz "desktop effects" may resolve the problem.

## Miscellaneous

- TP 337653 - Katana logs deprecation warnings when loading the 'PyMockAsset', 'PyMultiMockAsset' and 'PyMockFileSeq' shipping example Asset API plug-ins.

- TP 218742 - (Windows only) Katana must be installed to a path no longer than ~140 characters. Attempting to install to a longer path results in an unintuitive error: "The system cannot find the path specified."

- TP 112544 / BZ 49051 - The Viewer tab may lose sync with the Scene Graph tab when changes to expansion state are interrupted.

- TP 107038 / BZ 47853 - Indication of attribute source nodes (such as the yellow 'glow' in the Node Graph tab) is unavailable as of Katana 2.0v1.

- TP 84326 / BZ 40709 - The Alembic library does not support multiple process or thread access to an Alembic file. This means that a crash occurs when modifying an Alembic file outside Katana, while it's loaded in an open Katana scene. To avoid this, you must Flush Caches before attempting to update any modified Alembic files.

- TP 80738 / BZ 39261 - Operations that lock and unlock nodes do not currently create entries in the Undo History, which can lead to an incorrect node graph state when undoing and redoing operations.

- TP 71965 / BZ 36691 - State badges are currently shown for attribute values of dynamic array child parameters, even though only their parent array parameter should appear with a state badge.

- TP 70217 / BZ 36176 - The 2D node Disk Render Upstream Render Outputs option does not use the batch render method, batchRender, for upstream render nodes, instead using diskRender.

- TP 70196 / BZ 36170 - Control keys (notably arrow keys) do not function as expected in shell mode.