import cPickle
import gzip
import math
import maya.cmds as cmds
import os
#import numpy as np
#python 数组使用[] 号码
#第0列
samA=[]
samA=['sam_phoneme_A','charlie_phoneme_aa','dilys_phoneme_a','Hannah_phoneme_A','james_phoneme_A','Joe_phoneme_A',
'mandy_phoneme_a','norman_AHA','sarah_phoneme_AHA','Steele_phoneme_A','Elvis_AAA','Lizzie_phoneme_A','Trevor_AHA','Mike_AHA','Arnold_phoneme_A','sam_phoneme_A','Ben_phoneme_A','Boyce_A','Bronwyn_AHA','Derek_AHA','Ellie_phoneme_A']
#第1列
samE=[]
samE=['sam_phoneme_E','charlie_phoneme_ee','dilys_phoneme_e','Hannah_phoneme_E','james_phoneme_E','Joe_phoneme_E','mandy_phoneme_e ','norman_EEE','sarah_phoneme_EEE',
'Steele__phoneme_EE','Elvis_EEE','Lizzie_phoneme_E ','Trevor_EEE','Mike_EEE','Arnold_phoneme_E','sam_phoneme_E','','Ben_phoneme_E','Boyce_EEE','Bronwyn_EEE','Derek_EEE','Ellie_phoneme_E']
#第2列
samBMP=[]
samBMP=['sam_phoneme_m','charlie_phoneme_bm','dilys_phoneme_b','Hannah_phoneme_m','james_phoneme_BM','Joe_phoneme_m','mandy_phoneme_m','norman_BMP','sarah_phoneme_BMP',
'Steele_phoneme_BPM','Elvis_BMP','Lizzie_phoneme_m','Trevor_BMP','Mike_BMP','Arnold_phoneme_m','sam_phoneme_m','Ben_phoneme_m','Boyce_BMP','Bronwyn_BM','Derek_BMP','Ellie_phoneme_m']
#第3列
samB_M_P=[]
samB_M_P=['sam_phoneme_p','charlie_phoneme_p','dilys_phoneme_p','Hannah_phoneme_p','james_phoneme_P','Joe_phoneme_p','mandy_phoneme_p','norman_PPos|norman_OOO','sarah_phoneme_BMP',
'Steele_phoneme_P','Elvis_PPP','Lizzie_phoneme_p','Trevor_BMP','Mike_P','Arnold_phoneme_p','sam_phoneme_p','Ben_phoneme_p','Boyce_BMP','Bronwyn_P','Derek_BMP','Ellie_phoneme_p']
#第4列
samOOO=[]
samOOO=['sam_phoneme_O','charlie_phoneme_oo','dilys_phoneme_o','Hannah_phoneme_O','james_phoneme_O','Joe_phoneme_O ','mandy_phoneme_o','norman_OOOPos|norman_OOO','sarah_phoneme_OOO',
'Steele_phoneme_O','Elvis_OOO','Lizzie_phoneme_O','Trevor_OOO','Mike_OOO','Arnold_phoneme_O','sam_phoneme_O','Ben_phoneme_O','Boyce_OOO','Bronwyn_O','Derek_OOO','Ellie_phoneme_O']
#第5列
samFFV=[]
samFFV=['sam_phoneme_F','charlie_phoneme_vf','dilys_phoneme_v','Hannah_phoneme_F','james_phoneme_F','Joe_phoneme_F','mandy_phoneme_f','norman_FFV','sarah_phoneme_FFV','Steele_phoneme_VF',
'Elvis_FFV','Lizzie_phoneme_F','Trevor_FFV','Mike_FFV','Arnold_phoneme_F','sam_phoneme_F','Ben_phoneme_F','Boyce_FVV','Bronwyn_FFV','Derek_FFV','Ellie_phoneme_F']
#第6列
samCGKZS=[]
samCGKZS=['sam_phoneme_g','charlie_phoneme_cgk','dilys_phoneme_c','Hannah_phoneme_g','james_phoneme_SG','Joe_phoneme_g','mandy_phoneme_g','norman_CGKZS','sarah_phoneme_Z','Steele_phoneme_CGKZS',
'Elvis_SSZ','Lizzie_phoneme_g','Trevor_CGKZS','Mike_SZZ','Arnold_phoneme_g','sam_phoneme_g','Ben_phoneme_g','Boyce_SZZ','Bronwyn_SZZ','Derek_CGKZS','Ellie_phoneme_g']
#第7列
samIII=[]
samIII=['sam_phoneme_I','charlie_phoneme_iii','dilys_phoneme_i','Hannah_phoneme_I','james_phoneme_I','Joe_phoneme_I','mandy_phoneme_i','norman_III','sarah_phoneme_III','Steele_phoneme_I','Elvis_III',
'Lizzie_phoneme_I','Trevor_III','Mike_III','Arnold_phoneme_I','sam_phoneme_I','Ben_phoneme_I','Boyce_III','Bronwyn_III','Derek_III','Ellie_phoneme_I']
#第8列
samUWQ=[]
samUWQ=['sam_phoneme_U','charlie_phoneme_uwo','dilys_phoneme_u','Hannah_phoneme_U','james_phoneme_U','Joe_phoneme_U','mandy_phoneme_u','norman_UWQ','sarah_phoneme_UWQ',
'Steele_phoneme_QOO','Elvis_UWQ','Lizzie_phoneme_U','Trevor_UWQ','Mike_UWQ','Arnold_phoneme_U','sam_phoneme_U','Ben_phoneme_U','Boyce_UWQ','Bronwyn_UWQ','Derek_UWQ','Ellie_phoneme_U']
#第9列
samDDJ=[]
samDDJ=['sam_phoneme_d','charlie_phoneme_dj','dilys_phoneme_d','Hannah_phoneme_d','james_phoneme_D','Joe_phoneme_d','mandy_phoneme_d','norman_DDJ','sarah_phoneme_DDJ','Steele_phoneme_DJ',
'Elvis_DDJ','Trevor_DDJ','Mike_DDJ','Arnold_phoneme_d','sam_phoneme_d','Ben_phoneme_d','Boyce_DDJ','Bronwyn_DDJ','Derek_DDJ','Ellie_phoneme_d']
#第10列
samLH=[]
samLH=['sam_phoneme_L','charlie_phoneme_lh','dilys_phoneme_l','Hannah_phoneme_L','james_phoneme_L','Joe_phoneme_L','mandy_phoneme_l','norman_LH','sarah_phoneme_LH','Steele_phoneme_LH',
'Elvis_LH','Trevor_LH','Mike_LH','Arnold_phoneme_L','sam_phoneme_L','Ben_phoneme_L','Boyce_LH','Bronwyn_LH','Derek_LH','Ellie_phoneme_L']
#第11列
samCH=[]
samCH=['charlie_phoneme_ch','Charactor_dilys_phonemech','mandy_phoneme_ch','norman_CH','Steele_phoneme_SRCHTH','Mike_CH','Derek_CH ']
#第12列
samTH=[]
samTH=['sam_phoneme_TH','Hannah_phoneme_TH','james_phoneme_TH','Joe_phoneme_TH','sarah_phoneme_SZZ','Steele_phoneme_SRCHTH','Elvis_SHH',
'Trevor_TH','Arnold_phoneme_TH','sam_phoneme_TH ','Ben_phoneme_TH','Boyce_TH','Bronwyn_TH','Ellie_phoneme_TH']
#第13列 双属性
samup=[]
samup=['sam_mouth_up','Arnold_mouth_up','Arnold_mouth_up','sam_mouth_up','Ben_mouth_up','Boyce_c_mouth_up','Gareth_mouth_jaw','Ellie_mouth_up',
'dilys_mouth_jaw','charlie_mouh_jaw','Derek_jaw','Bronwyn_jaw','Elvis_mouth_jaw','Charactor_Controller','Hannah_mouth_up','Elvis_mouth_jaw',
'sam_mouth_up','norman_jaw','Mrschen_mouth_up','sam_mouth_up','mandy_jaw','Lizzie_mouth_up','sam_mouth_up','Joe_mouth_up','james_jaw','sarah_jaw','Steele_jaw','tom_jaw']
#第14列 双属性
samEmotion=[]
samEmotion=['Charlie_mouth_em','Helen_emotion','Boyce_mouth_frown_smail','Elvis_emotion','Ellie_Ellie_emotion','dilys_mouth_em','Bronwyn_Bronwyn_emotion',
'Hannah_emotion','Gareth_emotion','Elvis_emotion','sam_mouth_frown_smile','norman_emotion','Mrschen_mouth_frown_smile','Moose_Mouth_R_Smile',
'Mike_emotion','Mandy_Mouth_SF','mandy_jaw ','Lizzie_emotion','LilyChen_mouth_smile','Joe_emotion','James_emotion','sarah_emotion','Steele_phoneme_emotion','tom_emotion','Trevor_emotion']
#第15列 双属性
samJaw_fronted_back_close=[]
samJaw_fronted_back_close=['Hannah_back_front','Elvis_J_F_B_C','charlie_mouh_fron_back','Helen_fronted_back','Bronwyn_Bronwyn_jaw_fronted_back_close','Helen_fronted_back','Gareth_J_F_B_C',
'Elvis_J_F_B_C','sam_jaw_front_back_close','norman_jaw_fronted_back_close','Mrschen_jaw_front_back_close','mandy_jaw','Mike_jaw_fronted_back_close',
'Lizzie_Jaw_front_back','Joe_jaw_front_back','James_jaw_front_back','sarah_jaw_front_back','Steele_jaw_fronted_back_close','Bronwyn_Bronwyn_jaw_fronted_back_close','tom_jaw_fronted_back_close','Trevor_J_F_B_C']
#第16列 双属性
sam_mouth_move=[]
sam_mouth_move=['Character_Mouth_Move','Elvis_move','Mrschen_mouth_move','LilyChen_mouth_move','sam_mouth_move','Charlie_mouth_move','Elvis_move','Bronwyn_jaw_fronted_back_close','tom_sneer','Steele_neer','Helen_move',
'Hannah_mouth_move','Gareth_move','norman_mouth_move','Mrschen_mouth_move','sam_mouth_move','Trevor_A_N']
#其中samA代表着第一列,而时间贞代表着第一行,我们逐个逐帧的寻找
#确定有多少帧,就确定有多少行
#cmds.currentTime( 152 )
#用下面数组同上面的代表数组做交集,如果有交集那么取出交集的数值,如果没有交集则用0来补全
hannahface=[]
hannahface=['Hannah_phoneme_p','Hannah_phoneme_m','Hannah_phoneme_d','Hannah_phoneme_g','Hannah_mouth_up','Hannah_jaw2','Hannah_up','Hannah_dnPos|Hannah_dn','Hannah_phoneme_A',
'Hannah_phoneme_E','Hannah_phoneme_O','Hannah_phoneme_F','Hannah_phoneme_I','Hannah_phoneme_U','Hannah_phoneme_L','Hannah_phoneme_TH','Hannah_brow_l_updn','Hannah_brow_r_updn',
'Hannah_brow_r_midupdn','Hannah_brow_l_midupdn','Hannah_brow_l_outupdn','Hannah_brow_r_outupdn','Hannah_brow_r_frown','Hannah_brow_l_frown','Hannah_Ask','Hannah_dnPos1|Hannah_dn',
'Hannah_dnPos2|Hannah_dn','Hannah_Eye_U','Hannah_Eye_L','Hannah_uprlip','Hannah_lwrlip','Hannah_emotion','Hannah_wide','Hannah_Cheek','Hannah_back_front','Hannah_sneer','Hannah_mouth_move',
'Hannah_tongueCluster0Con','Hannah_tongueCluster1Con','Hannah_tongueCluster2Con','Hannah_teethupCon','Hannah_teethdownCon']
start =136
end =185
k=end-start
print k
Hang=50 #k
Lie =21
myListA = [ [ 0 for L in range(0,Lie)] for H in range(0,Hang) ]
print( myListA )
#j=141
t=0
for j in range(start,end):
cmds.currentTime(j)
print j
print t
#t=t+1
#print myList[t]
samAName = [val for val in samA if val in hannahface]
#print samAName
if samAName:
samANameAttr=cmds.getAttr(str(samAName[0])+'.ty')
print samANameAttr
myListA[t][0] = samANameAttr
#print myListA[t][0]
#求第 1 列属性名称
samEName = [val for val in samE if val in hannahface]
print samEName
if samEName:
samENameAttr=cmds.getAttr(str(samEName[0])+'.ty')
print samENameAttr
myListA[t][1] = samENameAttr
#求第 2 列属性名称
samBMPName = [val for val in samBMP if val in hannahface]
print samBMPName
if samBMPName:
samBMPNameAttr=cmds.getAttr(str(samBMPName[0])+'.ty')
print samBMPNameAttr
myListA[t][2] = samBMPNameAttr
#求第 3 列属性名称
samB_M_PName = [val for val in samB_M_P if val in hannahface]
print samB_M_PName
if samB_M_PName:
samB_M_PNameAttr=cmds.getAttr(str(samB_M_PName[0])+'.ty')
print samB_M_PNameAttr
myListA[t][3] = samB_M_PNameAttr
#求第 4 列属性名称
samOOOName = [val for val in samOOO if val in hannahface]
print samOOOName
if samOOOName:
samOOONameAttr=cmds.getAttr(str(samOOOName[0])+'.ty')
print samOOONameAttr
myListA[t][4] = samOOONameAttr
#求第 5 列属性名称
samFFVName = [val for val in samFFV if val in hannahface]
print samFFVName
if samFFVName:
samFFVNameAttr=cmds.getAttr(str(samFFVName[0])+'.ty')
print samFFVNameAttr
myListA[t][5] = samFFVNameAttr
#求第 6 列属性名称
samCGKZSName = [val for val in samCGKZS if val in hannahface]
print samCGKZSName
if samCGKZSName:
samCGKZSNameAttr=cmds.getAttr(str(samCGKZSName[0])+'.ty')
print samCGKZSNameAttr
myListA[t][6] = samCGKZSNameAttr
#求第 7 列属性名称
samIIIName = [val for val in samIII if val in hannahface]
print samIIIName
if samIIIName:
samIIINameAttr=cmds.getAttr(str(samIIIName[0])+'.ty')
print samIIINameAttr
myListA[t][7] = samIIINameAttr
#求第 8 列属性名称
samUWQName = [val for val in samUWQ if val in hannahface]
print samUWQName
if samUWQName:
samUWQNameAttr=cmds.getAttr(str(samUWQName[0])+'.ty')
print samUWQNameAttr
myListA[t][8] = samUWQNameAttr
#求第 9 列属性名称
samDDJName = [val for val in samDDJ if val in hannahface]
print samDDJName
if samDDJName:
samDDJNameAttr=cmds.getAttr(str(samDDJName[0])+'.ty')
print samDDJNameAttr
myListA[t][9] = samDDJNameAttr
#求第 10 列属性名称
samLHName = [val for val in samLH if val in hannahface]
print samLHName
if samLHName:
samLHNameAttr=cmds.getAttr(str(samLHName[0])+'.ty')
print samLHNameAttr
myListA[t][10] = samLHNameAttr
#求第 11 列属性名称
samCHName = [val for val in samCH if val in hannahface]
#如果存在
print samCHName
if samCHName:
samCHNameAttr=cmds.getAttr(str(samCHName[0])+'.ty')
print samCHNameAttr
myListA[t][11] = samCHNameAttr
#求第 12 列属性名称
samTHName = [val for val in samTH if val in hannahface]
print samTHName
if samTHName:
samTHNameAttr=cmds.getAttr(str(samTHName[0])+'.ty')
print samTHNameAttr
myListA[t][12] = samTHNameAttr
#求第 13 14 列属性名称
samupName = [val for val in samup if val in hannahface]
print samupName
if samupName:
samupNameAttrty=cmds.getAttr(str(samupName[0])+'.ty')
samupNameAttrtx=cmds.getAttr(str(samupName[0])+'.tx')
print samupNameAttrty
print samupNameAttrtx
myListA[t][13] = samupNameAttrty
myListA[t][14] = samupNameAttrtx
#求第 15 16 列属性名称
samEmotionName = [val for val in samEmotion if val in hannahface]
print samEmotionName
if samEmotionName:
samEmotionNameAttrty=cmds.getAttr(str(samEmotionName[0])+'.ty')
samEmotionNameAttrtx=cmds.getAttr(str(samEmotionName[0])+'.tx')
print samEmotionNameAttrty
print samEmotionNameAttrtx
myListA[t][15] = samEmotionNameAttrty
myListA[t][16] = samEmotionNameAttrtx
#求第 17 18 列属性名称
samJaw_fronted_back_closeName = [val for val in samJaw_fronted_back_close if val in hannahface]
print samJaw_fronted_back_closeName
if samJaw_fronted_back_closeName:
samJaw_fronted_back_closeNameAttrty=cmds.getAttr(str(samJaw_fronted_back_closeName[0])+'.ty')
samJaw_fronted_back_closeNameAttrtx=cmds.getAttr(str(samJaw_fronted_back_closeName[0])+'.tx')
print samJaw_fronted_back_closeNameAttrty
print samJaw_fronted_back_closeNameAttrtx
myListA[t][17] = samJaw_fronted_back_closeNameAttrty
myListA[t][18] = samJaw_fronted_back_closeNameAttrtx
#求第 19 20 列属性名称
sam_mouth_moveName = [val for val in sam_mouth_move if val in hannahface]
print sam_mouth_moveName
if sam_mouth_moveName:
sam_mouth_moveNameAttrty=cmds.getAttr(str(sam_mouth_moveName[0])+'.ty')
sam_mouth_moveNameAttrtx=cmds.getAttr(str(sam_mouth_moveName[0])+'.tx')
print sam_mouth_moveNameAttrty
print sam_mouth_moveNameAttrtx
myListA[t][19] = sam_mouth_moveNameAttrty
myListA[t][20] = sam_mouth_moveNameAttrtx
t=t+1
print 'Than by having a play with it'
t=0
for j in range(start,end):
print t
print myListA[t]
t=t+1
采集数据
最新推荐文章于 2024-02-24 17:45:31 发布