[maya動畫]打開動畫文件動畫全沒了?角色全部Tpose到原點了

今天動畫發生瞭如題所示的詭異問題。其實動畫節點是在的,只是連接丟了。出現這種情況的原因是導入了引用的資產造成了namespace混亂,所有的動畫曲線全部連接到了placeholder節點上,需要重新連接到控制器上。

鑑於碰到多次這種情況,這裏就說兩點吧,一是勸戒動畫師們規範操作,二是我提供這段代碼作爲解決方法或者拋磚引玉給TD們填坑指個思路:

用的時候記得替換裏面的字符串(如果不知道什麼事名稱空間的話建議百度一下):

import re
import maya.cmds as cmds

anim_curve_nodes = cmds.ls(type="animCurve")

cnn_list = []
for each in anim_curve_nodes:
    if not ":" in each:
        continue
    try:
        
        attr = each.split(':')[-1]
        attr_name = attr.split('_')[-1]
        num = ''
        if re.findall('\d+', attr_name):
            num = str(re.findall('\d+', attr_name)[0])
            attr_name = attr_name[:-1]
            # 下面字符串是名稱空間,把丟動畫的角色名稱空間名替換到下邊
        ctrl_name = '08_018_ly_V20:sds_aaa_RIG:'+attr.replace('_'+attr_name+num, '')+"."+attr_name
          
        cnn_list.append((each, ctrl_name))
    except:
        continue
miss = []
for cnn in cnn_list:
    try:
        cmds.connectAttr(cnn[0]+'.output', cnn[1])
    except:
        miss.append(cnn)  

        

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章