从Maya镜头清单中获得Attr

时间:2018-12-10 08:55:26

标签: python maya getattr timefield

我想从镜头列表(在相机定序器中)的字段中获取信息。我解决的镜头名:

test = cmds.getAttr('shot1.sn')
print test

但是其余的..我被卡住了。当我尝试调用诸如startTime之类的其他参数时,会遇到各种错误,具体取决于我的尝试方式。

1 个答案:

答案 0 :(得分:0)

欢迎来到SO,Fantasi。

您要提出一个非常模糊的问题,因此作为回报,您将得到一个非常模糊的答案。

您可以通过在音序器对象上使用cmds.listConnections获取拍摄清单。之后,使用for循环并通过使用cmds.getAttr来获取镜头信息:

shots = cmds.listConnections("sequencer1", type="shot") or []  # Get a list of all shots from the sequencer.

for shot in shots:
    shot_name = cmds.getAttr("{}.shotName".format(shot))  # Query shot's name.
    start_frame = cmds.getAttr("{}.startFrame".format(shot))  # Query shot's start frame.
    end_frame = cmds.getAttr("{}.endFrame".format(shot))  # Query shot's end frame.
    print shot_name, start_frame, end_frame  # Print out shot's info.

输出2张音序器的示例:

  

输出:

     

镜头1.0 50.0

     

shotEnd 51.0 120.0

如果不确定射击对象的属性名称,请you can find them here

如果仍然有问题,建议您从脚本编辑器粘贴错误消息,以便我们诊断出问题所在。