【发布时间】:2021-09-22 12:44:47
【问题描述】:
我有几个具有不同随机名称的渲染层。每个渲染层都有一个灯光实例。我需要删除这个实例。
据我所知:
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
from maya.app.renderSetup.model.renderSetup import instance
import maya.cmds as cmds
rs = instance()
#this creates a render layer called MyRenderSetupLayer
rl = rs.createRenderLayer("MyRenderSetupLayer")
#This creates a lights collection instance inside the created render layer
l1 = rl.lightsCollectionInstance()
#deletes the lights collection instance in the render layer
collection.delete(l1)
最后一行是删除创建的渲染层中的灯光实例,所以我知道你可以做到。我的问题是我不知道如何将变量(如 l1)分配给现有的灯光集合实例,以便我可以删除它。
如果我尝试查看 l1 是什么类型,我会得到
我的渲染层中总是有不同的名称,但即使我这样做了,我也无法弄清楚如何删除这些实例,除非我在该脚本中创建它们,因为它们被分配给一个变量,然后我可以就这样删除它。但由于这些文件是由不同的人创建的,我目前的工作流程不起作用。
非常感谢!我很感激
【问题讨论】: