получить Аттр из списка выстрелов Майя - PullRequest
0 голосов
/ 10 декабря 2018

Я хочу получить информацию из полей в списке кадров (в секвенсоре камеры).Название выстрела я решил:

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

Но остальное .. Я застрял.Когда я пытаюсь вызвать другие аргументы, такие как startTime, я получаю всевозможные ошибки в зависимости от того, как я пытаюсь это сделать.

1 Ответ

0 голосов
/ 10 декабря 2018

Добро пожаловать в 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.

Пример вывода секвенсора с двумя кадрами:

Выход:

shot 1.0 50.0

shotEnd 51.0 120.0

Если вы не уверены в именах атрибутов объекта выстрела, тогда вы можете найти их здесь .

Если у вас все еще есть проблемы, я предлагаю вам вставить сообщение об ошибке из редактора скриптов, чтобы мы могли диагностировать, что не так.

...