import maya.app.renderSetup.model.renderSetup as renderSetup
def RenderCacheExport(renderLayers, frameList):
tryAttr("defaultRenderGlobals.animation", 1) #tryAttr is a wrapper around setAttr
tryAttr("defaultRenderGlobals.extensionPadding", 4)
tryAttr("defaultArnoldDriver.halfPrecision", 1)
tryAttr("defaultArnoldDriver.tiled", 1)
tryAttr("defaultArnoldRenderOptions.bucketScanning", 0)
tryAttr("defaultArnoldRenderOptions.enableProgressiveRender", 0)
for f in frameList:
mc.currentTime(f, e=1)
for rl in renderLayers:
render_setup = renderSetup.instance()
renderLayerList = render_setup.getRenderLayers()
renderLayerList = [l for l in renderLayerList if l.name() == rl] render_setup.switchToLayer(renderLayerList[0])
mc.setAttr('defaultRenderGlobals.imageFilePrefix', f'c:/temp/out_{rl}_{f}.exr', type='string')
mc.arnoldExportAss(cam='|persp', f=f'c:/temp/out_{rl}_{f}.ass')