UsdLayerExport

New in Katana 7.5

Introduction

The UsdLayerExport node allow users to export the incoming Usd Native Nodes and their layers to disk.

UsdLayerExporter Plug-ins

You may add additional plug-ins to the UsdLayerExporter behavior in order to validate, or even alter the USD layer before it gets written to disk. There are two ways to perform this.

The first way is via the AssetAPI. When the UsdLayerExport node exports a layer, it utilizes the AssetAPI Asset Plug-in’s createAssetAndPath and postCreateAsset methods. These allow editing of the final destination and format (via the fileExtension field) of the USD layer, and also access to the layer on disk respectively. This happens outside of the UsdLayerExporter class itself, and is implemented for the UsdLayerExport node.

Alternatively, we have provided a plug-in system to allow for access to the in-memory layer prior to exporting to disk. This would be after any stitching, or flattening of the layer, as requested on the UsdLayerExport node or UsdLayerExporter class. This happens on every export call for the UsdLayerExporter class.

To register a new UsdLayerExporter plug-in, you will have to derive from UsdProcessingEngine.UsdExport.UsdLayerExporterPlugin, and implement the PostStitchLayers method. This method must return True if the export should continue, or False if the export should not continue and raise an error; which can be logged in Katana’s existing logging system. An example can be found at $KATANA_ROOT/plugins/Src/UsdProcessingEngine/UsdLayerExporterPlugins/FnUsdLayerValidation.py.

Once the plug-in is written, it must be added to a subdirectory of a KATANA_RESOURCES path called /UsdLayerExporterPlugins to be picked up automatically at start-up by Katana.

UsdLayerExporter

The UsdLayerExporter is a public class which should allow custom use of the logic which the UsdLayerExport node utilizes.

Note

This class expects the filepath on disk to write to; as such it is recommended to use the AssetAPI Asset API (C++).

UsdProcessingEngine module provides the interface between Katana and UsdProcessingEngine.