从 Maya shotlist 获取 Attr

get Attr from Maya shotlist

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

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

但其余的..我卡住了。当我尝试调用其他参数(如 startTime)时,我会收到各种错误,具体取决于我的尝试方式。

欢迎来到 SO,Fantasi。

你提出了一个非常模糊的问题,所以在 return 你会得到一个非常模糊的答案。

您可以通过在音序器对象上使用 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 个镜头的音序器示例输出:

Output:

shot 1.0 50.0

shotEnd 51.0 120.0

如果您不确定镜头对象的属性名称,那么 you can find them here

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