我正在尝试编写一个脚本,使使用LPE(光路表达式)创建光AOV更容易。 但我就是找不到一种方法来查询之前创建的AOV的存在性并跳过它们
我正在跟随阿维德·施耐德(Arvid Schneider)的教程,所以一些步骤来自他的视频
以下是我到目前为止的情况:
custAovLst = []
for lightSel in range(len(LightList)):
lgt_name = cmds.listRelatives(LightList, shapes = 1)
aov ='setAttr -type "string" {}.aiAov {};'.format(lgt_name[lightSel], 'lgt_' + lgt_name[lightSel].replace("Shape", ""))
mel.eval(aov)
for light in LightList:
aovName = cmds.getAttr(light + '.aiAov')
custAovLst.append(aovName)
def aovCreate():
for aovPass in custAovLst:
if cmds.attributeQuery(aovPass , node = ".aiAov", ex = True):
pass
else:
lightAov = aovs.AOVInterface().addAOV(aovPass, aovType='rgba')
aiAov = pmc.PyNode(lightAov.node)
aiAov.lightPathExpression.set("C.<L.'" + aovPass + "'>.*")
aovCreate()
任何关于如何实现这一点的帮助或建议,或者更好的点击方式,都是非常受欢迎的
最后我使用了一个带有
referenceQuery
命令的列表相关问题 更多 >
编程相关推荐