這一段小程式主要是用來快速把 translate, rotate, scale 值歸回預設值,不需要特別打開 channel box 或 attribute editor只為了要做這件事。 (對 建模,骨架設定,動畫等等都蠻有幫助的)。
mel 程式 :
{
string $sel[]=`ls -sl`;
string $resetAttrs[]={"translateX","translateY","translateZ","rotateX","rotateY","rotateZ"};
for($each in $sel)
{
for($attr in $resetAttrs)
if (`getAttr -k ($each+"."+$attr)`)
{
catch(`setAttr ($each+"."+$attr) 0`);
}
}
$resetAttrs2 = {"scaleX","scaleY","scaleZ"};
for($each in $sel)
{
for($attr in $resetAttrs2)
if (`getAttr -k ($each+"."+$attr)`)
{
catch(`setAttr ($each+"."+$attr) 1`);
}
}
}
pymel 版 :from pymel.core import *
zeroList = ['tx','ty','tz','rx','ry','rz']
oneList = ['sx','sy','sz']
reset = ls(sl=1)
for r in reset:
for attr in zeroList:
try:
setAttr('%s.%s'%(r,attr),0)
except RuntimeError:
pass
for attr in oneList:
try:
setAttr('%s.%s'%(r,attr),1)
except RuntimeError:
pass
如何設定成快速鍵 : http://maya-tricks.blogspot.com/2009/04/blog-post.html
wow~這個看起來很實用耶!
回覆刪除