View Full Version : Newbie question - custom attributes


Gabester
06 June 2005, 08:38 AM
Hi guys,

I'm quite new to mel, I have something relatively simple.

I'd like to create a custom attribute that through an expression, would drive the y positive position of one object,
and the y negative position of another simultaneously as I middle click drag the attribute from left to right.

Now here is the tricky part, I don't want it to simply take over control of the specified channels. I want it to add to the current position, so that I can freely transform the y position of the objects, but add to the end value with the help of that attribute.

Could anyone shed some light on this? Much appreciated.

Gabe

its837
06 June 2005, 07:21 PM
here is an example (probly a bad one)


not using mel but just some nodes

the controles are on the circle but you could use an extra node to controle the y if you wanted to move it independently and thne have an offset or wahtever

nonsense

just run this in your script editor and it will creat the example


sphere -p 0 0 0 -ax 1 0 0 -ssw 0 -esw 360 -r 0.15 -d 3 -ut 0 -tol 0.01 -s 8 -nsp 4 -ch 1;objectMoveCommand;

sphere -p 0 0 0 -ax 1 0 0 -ssw 0 -esw 360 -r 0.15 -d 3 -ut 0 -tol 0.01 -s 8 -nsp 4 -ch 1;objectMoveCommand;

circle -n Controle -c 0 0 -1 -nr 1 0 0 -sw 360 -r 0.115 -d 3 -ut 0 -tol 0.01 -s 8 -ch 1; objectMoveCommand;

addAttr -ln Spheres_Y -at double |Controle;

setAttr -e -keyable true |Controle.Spheres_Y;

addAttr -ln Sphere_1_Offset -at double |Controle;

setAttr -e -keyable true |Controle.Sphere_1_Offset;

addAttr -ln Sphere_2_Offset -at double |Controle;

setAttr -e -keyable true |Controle.Sphere_2_Offset;

shadingNode -asUtility plusMinusAverage;

connectAttr -force Controle.Spheres_Y plusMinusAverage1.input1D[0];

connectAttr -force Controle.Sphere_1_Offset plusMinusAverage1.input1D[1];

connectAttr -force plusMinusAverage1.output1D |nurbsSphere1.translateY;











shadingNode -asUtility plusMinusAverage;

connectAttr -force Controle.Spheres_Y plusMinusAverage2.input1D[0];

connectAttr -force Controle.Sphere_2_Offset plusMinusAverage2.input1D[1];

shadingNode -asUtility multiplyDivide;

setAttr "multiplyDivide1.input2X" -1;

connectAttr -force plusMinusAverage2.output1D multiplyDivide1.input1X;

connectAttr -force multiplyDivide1.outputX |nurbsSphere2.translateY;

meatpuppet
08 August 2005, 08:50 PM
is there some reason you can't/don't want to use a set driven key? the nice thing about them is that they're addititive, which sounds like what you need.

cheers,

CGTalk Moderation
08 August 2005, 08:50 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.


1