Похоже, в вашем коде отсутствует вызов метода finalize
для переопределения:
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')
Если вы не знаете имя атрибута, вы можете пропустить последний вызов finalize
затем вручную назначьте переопределение путем перетаскивания атрибута из редактора атрибутов, а затем вызовите print so.attributeName()
, чтобы увидеть фактическое имя.