スクリプトを修正する必要があります。grab_animation 関数、save_animation 関数、そして最後に restore_animation を書きました。
ここにあります。
def restore_animation(path, animation_dictionary=None):
dict_file = open(path, 'rb')
dict_anim_pkld = pickle.load(dict_file)
dict_file.close()
for each_frame in dict_anim_pkld:
cmds.currentTime(each_frame)
for each_obj in dict_anim_pkld[each_frame]:
for each_attr in dict_anim_pkld[each_frame][each_obj]:
cmds.setKeyframe('{0}.{1}'.format(each_obj,each_attr))
cmds.setAttr ('{0}.{1}'.format(each_obj,each_attr), dict_anim_pkld[each_frame][each_obj][each_attr]['value'])
問題は、この関数はうまく機能しますが、アニメーションの値を復元するだけで、すべてのキーフレームにキーを設定しないことです。実装する必要があるコマンドはわかっていますcmds.setKeyframe
が、多くのテストの後、まだ機能しません。誰が私を助けることができます?