Я пытаюсь завершить свой сценарий, и у меня возникли некоторые проблемы. Вот мой сценарий:Maya Python Script: Return True или False, если атрибут ключевого кадра в этом конкретном кадре
from maya import cmds
def correct_value(selection=None, prefix='', suffix=''):
newSel = []
if selection is None:
selection = cmds.ls ('*_control')
if selection and not isinstance(selection, list):
newSel = [selection]
for each_obj in selection:
if each_obj.startswith(prefix) and each_obj.endswith(suffix) :
newSel.append(each_obj)
return newSel
def save_pose(selection):
pose_dictionary = {}
for each_obj in selection:
pose_dictionary[each_obj] = {}
for each_attribute in cmds.listAttr (each_obj, k=True):
pose_dictionary[each_obj][each_attribute] = cmds.getAttr (each_obj + "." + each_attribute)
return pose_dictionary
controller = correct_value(None,'left' ,'control')
save_pose(controller)
def save_animation(selection, **keywords):
if "framesWithKeys" not in keywords:
keywords["framesWithKeys"] = [0,1,2,3]
animation_dictionary = {}
for each_frame in keywords["framesWithKeys"]:
cmds.currentTime(each_frame)
animation_dictionary[each_frame] = save_pose(selection)
return animation_dictionary
frames = save_animation (save_pose(controller))
print frames
Теперь, когда я запрашивая атрибут, я хочу, чтобы сохранить значение в словаре, который говорит, что если атрибут имеет ключевой кадр в этом кадре вы проверяете True
или False
, но только если у него есть ключ в этом фрейме.
Например, скажем, у меня есть ключи в атрибуте tx моего элемента управления в кадрах 1 и 5, и я хочу иметь ключ словаря, который я могу проверить позже, чтобы увидеть, есть ли ключи в этих кадрах: когда есть ключ в этом кадре, возврат true
; если нет, возврат false
. Если True
, я также хочу сохранить касательные типы ключей.