PDA

View Full Version : Need Help Maya Expression MEl


CrashLCF
05-20-2008, 01:12 PM
string $driver = "pCube1";
string $driven = "group2|pCube2";
string $dvivenMov = "group2";
string $dist = "distanceBetween1";

float $tm = `currentTime -q`;
float $distTmp;
float $posX;
float $posY;
float $posZ;
float $offsX = 0;
float $offsY = 0;
float $offsZ = 0;
float $offset;
float $tempX;
float $tempY;
float $tempZ;

float $kfrm = `findKeyframe -at FOLLOW -which previous $driven`;
float $kfrmPre = `findKeyframe -t $kfrm -which previous -at FOLLOW $driven`;
float $kfVal[] = `keyframe -at FOLLOW -t $kfrm -q -vc $driven`;
float $kfValPre[] = `keyframe -at FOLLOW -t $kfrmPre -q -vc $driven`;

if ($kfVal[0] == $kfValPre[0])
{
$kfrmPre = `findKeyframe -t $kfrm -which previous -at FOLLOW $driven`;
}

if ($kfVal[0] != $kfValPre[0] && $kfVal[0] == 0 )
{
$offsX = (`getAttr -t $kfrm ($dvivenMov + ".translateX")`) - (`getAttr -t $kfrm ($driver + ".translateX")`);
$offsY = (`getAttr -t $kfrm ($dvivenMov + ".translateY")`) - (`getAttr -t $kfrm ($driver + ".translateY")`);
$offsZ = (`getAttr -t $kfrm ($dvivenMov + ".translateZ")`) - (`getAttr -t $kfrm ($driver + ".translateZ")`);
}


if ($kfVal[0] == 1 )
{
$posX = (`getAttr ($driver + ".translateX")`) + $offsX;
$posY = (`getAttr ($driver + ".translateY")`) + $offsY;
$posZ = (`getAttr ($driver + ".translateZ")`) + $offsZ;
}

if ($kfVal[0] == 0)
{
$posX = `getAttr ($dvivenMov + ".translateX")`;
$posY = `getAttr ($dvivenMov + ".translateY")`;
$posZ = `getAttr ($dvivenMov + ".translateZ")`;
}
print ("X Y Z \n");
print ($offsX + "\n");
print ($offsY + "\n");
print ($offsZ + "\n");

print ("Position \n");
print ($posX + "\n");
print ($posY + "\n");
print ($posZ + "\n");

setAttr ($dvivenMov + ".translateX") $posX;
setAttr ($dvivenMov + ".translateY") $posY;
setAttr ($dvivenMov + ".translateZ") $posZ;



I don`t understood why 2 cube don`t keep distance and always jump. Any one can help ?

CGTalk Moderation
05-20-2008, 01:12 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.