2013年12月15日 星期日

存 .ma 檔時保留節點屬性的全名 (save attribute full names in .ma file)



有時候為了偷學 Maya 怎麼做事或是想知道某個節點 ( node ) 會有哪一些屬性 ( attribute )可以用,我們可能需要使用文字編輯器打開 Maya 的 .ma 檔。但一般來說 Maya 並不會在 .ma 檔裡把屬性的全名存起來,而是用簡稱來代替 (可能是為了縮減檔案大小吧)。

以下是 "正常" Maya 會存的格式。我們從這裡並很難看出來 .s .g .wgt 這種屬性到底是代表什麼,必須到 maya 官方 help 才可以查得出來 wgt --> weightedTangents,  cuv --> createUVs . 
 createNode lightLinker -s -n "lightLinker1";  
     setAttr -s 2 ".lnk";  
     setAttr -s 2 ".slnk";  
 createNode displayLayerManager -n "layerManager";  
 createNode displayLayer -n "defaultLayer";  
 createNode renderLayerManager -n "renderLayerManager";  
 createNode renderLayer -n "defaultRenderLayer";  
     setAttr ".g" yes;  
 createNode polyCube -n "polyCube1";  
     setAttr ".cuv" 4;  
 createNode animCurveUL -n "pCube1_translateX";  
     setAttr ".tan" 18;  
     setAttr ".wgt" no;  
     setAttr -s 3 ".ktv[0:2]" 0.00078463554382324219 0 3.7023928165435791   
         -6.4533541657909801 5.9996156692504883 -0.74532827237241772;  
 createNode animCurveUL -n "pCube1_translateY";  
     setAttr ".tan" 18;  
     setAttr ".wgt" no;  
     setAttr -s 3 ".ktv[0:2]" 0.00060009956359863281 0 3.7026000022888184   
         6.453 5.9995999336242676 -0.745;  

有一個方法可以強迫 Maya 把屬性全名存下來,也就是在 save as[] 時打開 Use full names for attributes on nodes 這選項。


相較之下,這種存法就清楚多了。不需要額外上網搜尋就大概可以了解每個屬性到底是可以用來設定什麼參數。
 createNode lightLinker -shared -name "lightLinker1";  
     setAttr -size 2 ".link";  
     setAttr -size 2 ".shadowLink";  
 createNode displayLayerManager -name "layerManager";  
 createNode displayLayer -name "defaultLayer";  
 createNode renderLayerManager -name "renderLayerManager";  
 createNode renderLayer -name "defaultRenderLayer";  
     setAttr ".global" yes;  
 createNode polyCube -name "polyCube1";  
     setAttr ".createUVs" 4;  
 createNode animCurveUL -name "pCube1_translateX";  
     setAttr ".tangentType" 18;  
     setAttr ".weightedTangents" no;  
     setAttr -size 3 ".keyTimeValue[0:2]" 0.00078463554382324219 0 3.7023928165435791   
         -6.4533541657909801 5.9996156692504883 -0.74532827237241772;  
 createNode animCurveUL -name "pCube1_translateY";  
     setAttr ".tangentType" 18;  
     setAttr ".weightedTangents" no;  
     setAttr -size 3 ".keyTimeValue[0:2]" 0.00060009956359863281 0 3.7026000022888184   
         6.453 5.9995999336242676 -0.745;  

沒有留言:

張貼留言