平滑曲线maya
global proc KTL_smoothKey() {float $preVal[],$curVal[],$nextVal[],$average,$keys[],$dupCUV[];
int $sizeOfKeys;
string $dupCurve[];
string $cuvs[] = `keyframe -q -name`;
for ($cuv in $cuvs) {
$keys = `keyframe -q -sl $cuv`;
$sizeOfKeys = `size $keys`;
if ($sizeOfKeys < 3) continue;
$dupCurve = `duplicate $cuv`;
for ($i = 1; $i < $sizeOfKeys-1; $i++) {
$preVal = `keyframe -t $keys[$i-1] -q -vc $cuv`;
$curVal = `keyframe -t $keys[$i] -q -vc $cuv`;
$nextVal = `keyframe -t $keys[$i+1] -q -vc $cuv`;
$average = ($preVal + $curVal + $nextVal) / 3;
keyframe -t $keys[$i] -a -vc $average $dupCurve;
}
for ($i = 1; $i < $sizeOfKeys-1; $i++) {
$dupCUV = `keyframe -t $keys[$i] -q -vc $dupCurve`;
keyframe -t $keys[$i] -a -vc $dupCUV $cuv;
}
delete $dupCurve;
}
}
global proc zidongpinghuagongju()
{
if (`window -exists zdpggj_MB`) deleteUI zdpggj_MB;
window -t "自动平滑帧工具" -s 0-h 100 zdpggj_MB;
rowColumnLayout -nc 1 -cw 1 200 -cw 1 200;
button -label "自动平滑帧" -c KTL_smoothKey;
separator -bgc 0 0.5 0.8;separator -bgc 0 0.5 0.8;
separator -bgc 1 1 0;separator -bgc 1 1 0;
showWindow zdpggj_MB;
window -e -w 200 -h 40 zdpggj_MB;
}
zidongpinghuagongju;
页:
[1]