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.