how set set attribute ('primaryVisibility') in override.AbsOverride maya 2018 or 2019
import maya.app.renderSetup.model.override as override
import maya.app.renderSetup.model.selector as selector
import maya.app.renderSetup.model.collection as collection
import maya.app.renderSetup.model.renderLayer as renderLayer
import maya.app.renderSetup.model.renderSetup as renderSetup
import maya.cmds as cmds
rs = renderSetup.instance()
# Create render layer
r1 = rs.createRenderLayer("char_beauty")
# Create collections
c1 = r1.createCollection("char")
c2 = r1.createCollection("trk_geo")
c2pv=c2.createCollection("PV")
c2pv.getSelector().setFilterType(2)
so=c2.createOverride('PV', override.AbsOverride.kTypeId)
so.setattribute('primaryVisibility')
try to create primaryVisibility attribute.. for trk_geo collection ..don't know set primaryVisibility attribute in AbsOverride .
It looks like your code is missing a finalize
method call on the override:
import maya.app.renderSetup.model.override as override
import maya.app.renderSetup.model.selector as selector
import maya.app.renderSetup.model.collection as collection
import maya.app.renderSetup.model.renderLayer as renderLayer
import maya.app.renderSetup.model.renderSetup as renderSetup
import maya.cmds as cmds
rs = renderSetup.instance()
# Create render layer
r1 = rs.createRenderLayer("char_beauty")
# Create collections
c1 = r1.createCollection("char")
c2 = r1.createCollection("trk_geo")
c2pv=c2.createCollection("PV")
c2pv.getSelector().setFilterType(2)
# Create override
so = c2.createOverride('PV', override.AbsOverride.kTypeId)
so.finalize('visibility')
If you don't know the name of the attribute, you may skip the last finalize
call, then assign the override manually by drag-and-dropping the attribute from the Attribute Editor and then call the print so.attributeName()
to see the actual name.