Follow these sets to set up AOVs in RenderMan for Katana:

color lpe:C<RD>.+[<L.>O]

 

To correctly render per-lobe LPE in Katana, you need to use an OpScript to declare how these are routed to the outputs. Below is the full OpScript to use for the lobe names defined by PxrSurface and PxrMarschnerHair. If your studio has its own bxdfs with different names, you will need to add those names to these Options.

Interface.SetAttr('prmanGlobalStatements.options.lpe.diffuse2', StringAttribute("Diffuse,HairDiffuse"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.diffuse3', StringAttribute("Subsurface"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.specular2', StringAttribute("Specular,HairSpecularR"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.specular3', StringAttribute("RoughSpecular,HairSpecularTRT"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.specular4', StringAttribute("Clearcoat"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.specular5', StringAttribute("Iridescence"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.specular6', StringAttribute("Fuzz,HairSpecularGLINTS"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.specular7', StringAttribute("SingleScatter,HairSpecularTT"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.specular8', StringAttribute("Glass"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.user2', StringAttribute("Albedo,DiffuseAlbedo,SubsurfaceAlbedo,HairAlbedo"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.user3', StringAttribute("Position"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.user4', StringAttribute("UserColor"))
Interface.SetAttr('prmanGlobalStatements.options.lpe.user6', StringAttribute("Normal,DiffuseNormal,HairTangent,SubsurfaceNormal,SpecularNormal,RoughSpecularNormal,SingleScatterNormal,FuzzNormal,IridescenceNormal,GlassNormal"))


 

 

EXR Metadata

You can add metadata to the EXR file to facilitate pipeline functions. The Foundry documents this here.

Essentially, on the Render Settings node:

SetAttr("renderSettings.ouputs.primary.rendererSettings.exrheaders.test_string",[ "Your string" ] )

Setting Custom Display Data

You can pass a custom Katana attribute into the display driver using an OpScript at the /root. Below is a simple example setting "myParam" onto a display called "myDisplay"

Interface.SetAttr("renderSettings.outputs.myDisplay.rendererSettings.displayOptions.myParam", StringAttribute("paramValue"))