What's New in Katana 3.6

Introduction

This document describes notable changes introduced in Katana 3.6. These changes focus on four areas:

  • Support for Snapping has been added to the Hydra viewer.
  • The NetworkMaterialEdit node type has been added, to enable quick changes to existing networks in the new network material UI style introduced in Katana 3.2v1.
  • Dockable Tabs which allow for a neater and more customizable UI
  • The OpWrite node type has been added, to enable rapid prototyping of custom C++ Ops within the Katana interface.

Snapping in the Hydra Viewer

Support for snapping to locations has been added to the Viewer (Hydra) tab.

Snapping can be turned on and off using the new Snapping tool button in the tab, using that button's menu, or by pressing the V key, and can also be turned on temporarily by holding the V key. Turning the feature on allows users to snap any location's translate or COI manipulator (including individual axes) to a target location's individual Vertices, Edges, Faces, Center or Object.

  • When snapping to vertices (Vertex mode), only vertices of front-facing faces are considered.
  • When snapping to edges, users can choose to snap to the center of a given edge (Edge - Center mode), or to slide along a given edge (Edge - Slide along mode).
    • In these modes, the target edge is highlighted in addition to the target mesh's snapping wireframe.
  • When snapping to faces, users can choose to snap to the center of a given face (Face - Center mode), and also orient the transformed mesh's rotation to point along the normal of the target face (Face - Center - Oriented to Normal mode).
    • In these modes, the target face is highlighted in addition to the target mesh's snapping wireframe.
    • In Face - Center - Oriented to Normal mode, the normal is indicated by a white arrow with a dashed line.
      • In Oriented to Normal modes, the OrientAxis and UpAxis can be specified via viewerHydra/snapping preferences.
  • When snapping to objects, users can choose to snap to the closest point on an object's surface (Object Surface mode), and also orient the transformed mesh's rotation to point along the normal of the closest face (Object Surface - Oriented to Normal mode), or to the object's origin (Object - Origin mode).
    • In Object Surface modes, the target mesh is drawn with an outline, in addition to the target mesh's snapping wireframe being drawn.
    • In Object - Center mode, the center of an object (defined by a bounding box automatically generated by the extents of the geometry) will be highlighted with a cross-hair icon.
    • In Object - Origin mode, the origin of the targeted object is highlighted with a cross-hair icon.
  • Proxy geometry shown in the current scene will work with all the above modes.
  • When snapping to Lights, Cameras, and Locators, users can choose to snap to the center of a given location of the type Light, Camera or Locator. Geometry in the scene will be ignored by this modes.

Note:  The color used for drawing the target mesh's snapping wireframe can be customized via the new viewerHydra/snapping/wireframeColor preference.

The current snapping mode can be changed via the Snapping tool button's menu, or by pressing Shift+V to cycle through the available snapping modes.

For more information on Snapping in the Hydra Viewer, see Snapping.

NetworkMaterialEdit

NetworkMaterialEdit nodes allow users to edit network materials that have been created using NetworkMaterialCreate nodes, by adding shading nodes to an existing network, deleting shading nodes from an existing network, or modifying any of the parameters of shading nodes of an existing network. The contents of NetworkMaterialEdit nodes are drawn in the same style that was introduced for NetworkMaterialCreate nodes in Katana 3.2, with exposed ports on shading nodes and a left-to-right node layout.

NetworkMaterialEdit nodes leverage the functionality of the existing NetworkMaterialParameterEdit and NetworkMaterialSplice node types, but in a UI that is visually representative of how the material was originally authored.

For more information on the NetworkMaterialEdit node, see The NetworkMaterialEdit Node.

Dockable Tabs

The following menu commands have been added to the context menu of tab titles, to allow users to move the respective tab to a particular dock widget area in Katana's main window:

  • Move Tab To >
    • Left Dock
    • Right Dock
    • Top Dock
    • Bottom Dock

Tabs in dock widgets can be dragged to one of the other dock widget areas, and can also be turned into floating panes, by clicking the Detach Tab button in the title bar of the dock widget, by double-clicking its title bar, or by dragging a docked tab away from the dock widget areas of the main window.

Docked tabs on the left and right of the main window span the entire height of the main window, whereas those at the top and bottom span the width of the main window's central widget only (containing its classic panes and tabs).

Docked tabs are saved and restored as part of Katana layout XML files. A Save <n> Dock Widgets checkbox has been added to the Save Current Layout dialog that opens when choosing the Layouts > Save Current Layout menu command. By default, the checkbox is turned on. The checkbox can be turned off to not save docked tabs as part of the layout.

For more information on docking tabs, see Adjusting Layouts.

OpWrite Node Type

OpWrite nodes allow users to write custom, dynamic Ops in C++ right within Katana's user interface, and iterating on them without having to restart Katana. The OpWrite node type has been modelled after the OpScript node type, with regards to its parameter interface and general functionality, including the ability for deferred execution of the custom Op in question.

By default, the OpWrite node type is not made available in Katana's node creation menus in the Node Graph tab. You can set the KATANA_ENABLE_OPWRITE_NODE environment variable to 1 before launching Katana to make it available.

More details on writing Ops using OpWrite nodes can be found in the OpWrite section of the Katana Developer Guide.