如何在 Maya 中获取 Arnold Light 的对象类型
How do I get the object type of an Arnold Light in Maya
我正在研究一种从 Json 文件创建灯光设置的方法,反之亦然,将设置保存在 Json 秒中以便稍后加载。因此我想创建一个 if 语句,上面写着 "if the lighttype is a SkyDomeLight, execute this function" 但不知何故,这些对象的唯一类型是转换。例如,我只是在寻找某种方法来区分 aiAreaLight 和 aiSkyDomeLight。不过只寻找 Arnold 灯。
我试过 ObjectType,select 按类型,添加后缀,然后基于该后缀,但这样太复杂而且不友好。
如果您在属性编辑器中查看形状:
aiSkyDomeLight 是天穹的节点类型
aiAreaLight 是区域光的类型
请务必按形状查询您的灯:
sel = cmds.ls(sl=True, dag=True, type='shape')
nt = [cmds.nodeType(i) for i in sel]
for s, nt in zip(sel, nt):
print('"{}" light has "{}" as nodeType')
我正在研究一种从 Json 文件创建灯光设置的方法,反之亦然,将设置保存在 Json 秒中以便稍后加载。因此我想创建一个 if 语句,上面写着 "if the lighttype is a SkyDomeLight, execute this function" 但不知何故,这些对象的唯一类型是转换。例如,我只是在寻找某种方法来区分 aiAreaLight 和 aiSkyDomeLight。不过只寻找 Arnold 灯。
我试过 ObjectType,select 按类型,添加后缀,然后基于该后缀,但这样太复杂而且不友好。
如果您在属性编辑器中查看形状:
aiSkyDomeLight 是天穹的节点类型 aiAreaLight 是区域光的类型
请务必按形状查询您的灯:
sel = cmds.ls(sl=True, dag=True, type='shape')
nt = [cmds.nodeType(i) for i in sel]
for s, nt in zip(sel, nt):
print('"{}" light has "{}" as nodeType')