Я пытаюсь завладеть объектами, включенными в коллекцию в новой системе рендеринга Mayas. Я могу получить те, которые включены в поле включения, но не те, которые добавляются с помощью добавления или перетаскивания.
По сути, я пытаюсь найти все источники света, которые активны в сцене, но поскольку новый источник света должен быть нестабильным, мы решили вместо этого использовать коллекции, поэтому мне нужно выяснить, какие источники света в сцена находится в коллекции или дочерней группе, которая находится в коллекции, и была ли эта группа отключена. Это мой очень простой сценарий, который работает до тех пор, пока источники света добавляются в виде «шаблона» рядом с полем для включения текста.
#modules
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 mc
rs = renderSetup.instance()
rl_test = rs.createRenderLayer("Layer") # create renderlayer
cl_test_lights = rl_test.createCollection("Prod_lights")
cl_test_lights.getSelector().setPattern('Prod_lights_grp')
cl_test_lights.setSelfEnabled(0) #disable collection
collections = rl_test.getCollections() #get collections within renderlayer
DeactivatedLightsLi=[]
for each in collections:
if each.isSelfEnabled()==False: #if collection is disabled
pattern = each.getSelector().getPattern()
DeactivatedLightsLi.append(pattern) #add this pattern to the list