View Full Version : blendShape atts
11 November 2004, 10:02 PM
I need to list the attributes / the shapes in a blendShape node.
When I use "listAttr -k" I only get the envelope weight. Why?
Is there another command or flag I can use to list these attributes?
11 November 2004, 02:53 AM
listAttr -m blendShape1.w;
hope it helps,
11 November 2004, 11:11 AM
// find all blendshapeNodes
string $blendShapes = `ls -typ "blendShape"` ;
string $each ;
for ($each in $blendShapes)
string $attribs; clear $attribs ;
// find the targets (attributes)
$attribs = `blendShape -q -t $each` ;
print ("\n*************************\n"+$each+":\n") ;
print $attribs ;
11 November 2004, 02:19 PM
listAttr -k -m works great... but I wonder what a multi-attribute is (as in -m)...
02 February 2005, 02:02 AM
but I wonder what a multi-attribute is
I just had this same problem. Can anybody shed some light on why -k -m works? What exactly is a multi-attribute?
Any help would be appreciated. I hate scripting things when I don't know why they work.
02 February 2005, 03:01 AM
A multi-attribute is an attribute that is not an array, but has multiple values. A good example is the translate attribute. Technically, it's only 1 attribute, but it has multiple parts, translateX, translateY, and translateZ.
02 February 2005, 08:16 AM
translate is actually a vector-attibute not a multi-attribute. A vector has only three values but a multi-attribute can have as many as you want (just like the input on a plusMinusAverage node). Looks just like an array to me?
Vector can be made from the add attribute window, but a multi-attribute can not. To make a multi-attribute:
addAttr -m -ln myMulti -at double -k 1;
setAttr ".myMulti" 2;
setAttr ".myMulti" 3;
setAttr ".myMulti" 8;
setAttr ".myMulti" 7;
setAttr ".myMulti" 5;
02 February 2005, 06:51 PM
Ok, so the blendshapes in a blendshape node are actually multi-attributes then?
02 February 2005, 07:53 AM
Yes... It looks like the shape is connected to a multi-attribute inside of other multi-attributes; some strange things happening here:
02 February 2005, 06:47 PM
Ok, this is making more sense now. This is why, when you add a blendshape to an existing node, you must specify an index.
blendShape -edit -target <baseMesh> <index> <targetMesh> <weight> ....;
So mult attr do kindof act like an array. They are arranged using the same 0-based indices.
02 February 2006, 07:00 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.