//-----------------------------------------------------------------------------------------------
/*
Тайлбар:
Анимаци хийгдсэн биетийг фрэйм бүрд хувилна.
Хувилсан шинэ биетүүдийг груплэн багцалж
шинээр нэр оноох бөгөөд цаашид дундын морф хийхэд хэрэглэгдэнэ.
Аргумент:
string $obj = Процедурт хэрэглэгдэх объектын нэр
string $char = Хувилсан биетийн өмнө залгагдах нэр
string $name = Үүссэн биет ямар нэртэй байхыг зааж өгнө
Жишээ:
animToBlend ("bound_geo","cat","jawLeft");
*/
//-----------------------------------------------------------------------------------------------
global proc animToBlend (string $obj, string $char, string $name) {
float $start = `playbackOptions -q -min`;
float $end = `playbackOptions -q -max`;
float $frame = `currentTime -q`;
float $step = 1;
string $dupe[];
string $parent = `createNode transform -name ($char + "_" + $name + "_blend")`;
progressWindow -t "animToBlend" -progress $start -status ("animToBlend on frame: "+$frame) -min $start -max $end -isInterruptable true;
for($frame=$start;$frame<=$end;$frame+=$step)
{
currentTime $frame;
if($frame == $end) $dupe = `duplicate -name ($char + "_" + $name) $obj`;
else $dupe = `duplicate -name ($char + "_" + $name + "_" + $frame) $obj`;
parent $dupe[0] $parent;
if(`progressWindow -q -isCancelled`) { progressWindow -endProgress; undoInfo -state on;return;}
progressWindow -e -progress $frame -status ("running animToBlend on frame: "+$frame);
}
progressWindow -endProgress;
print ("successfully created " + $name + " blendShape targets for " + $char + "\n");
currentTime $start;
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment