• yaoyansibase
  • First taste
  • Email
  • Posts 4
  • Reputation 0
  • Member Since
  • Last Active
Email
  • Name yaoyansibase
All Posts Topics Started Likes
How you make this in node createArray and arrayToArray?
Hi all,
I'm very interested in some features of createArray and arrayToArray. For example, the type of plug can be changed dynamically. Here are the steps.


createNode -name "createArray1" "createArray";
setAttr "createArray1.outputType" 5;
setAttr "createArray1.length" 6;
setAttr createArray1.defaultValueX 1;
setAttr createArray1.defaultValueY 2;
setAttr createArray1.defaultValueZ 3;
setAttr createArray1.defaultValueW 4;

getAttr -type ("createArray1.outArray");
// Result: doubleArray //

setAttr "createArray1.outputType" 4;
getAttr -type ("createArray1.outArray");
// Result: vectorArray //

It's very interesting to change the type of output plug(createArray1.outputType) dynamically.
Could you give me any clue about how you make it?
How to create this output plug in CreateArrayNode::initialize()? And how to change the type of this output plug dynamically?



createNode -name "arrayToArray1" "arrayToArray"
getAttr -type ("arrayToArray1.inArray1")
//
It returns nothing here.

connectAttr -f createArray1.outArray arrayToArray1.inArray1;
getAttr -type ("arrayToArray1.inArray1");// Result: vectorArray

setAttr "createArray1.outputType" 1;
getAttr -type ("createArray1.outArray");
// Result: doubleArray //
getAttr -type ("arrayToArray1.inArray1");
// Result: doubleArray //

Here is another very interesting thing that the type of arrayToArray1.inArray1 is changed according to the source plug.
Could you give me any clue about how you make it?
How to create this input plug in ArrayToArrayNode::initialize()? And how to change the type of this input plug dynamically?


Cheers
0 0
Can I do the PartialBlendShape with SOuP?
Hi all,
I'm new to SOuP. First of all, thanks for all of you who develop and share SOuP with us.

I'm watching Tom Ferstl's showreel2012 which demonstrates a very insteresting plugin Partial BlendShape at 4'03''. I'm wondering that whether I can do the same thing with SOuP and how.
If SOuP could do it, could you give me a step-by-step guid? cause I'm new to SOuP.

Cheers
yao
0 0
How to paint the weight to MPxDeformerNode::weightList[1] instead of weightList[0]?
Hi all,
I define a deformer node, like this:
class MyDeformer : public MPxDeformerNode
{
...
}

devkit/plug-ins/weightListNode.cpp shows that MPxDeformerNode::weightsList is an array-array attribute.
MPxDeformerNode::weightsList has the child attribute weights which is also an array.

I guess that I could store weight of vertex of different meshes into this attribute, like the following steps:
1. create a instance node of MyDeformer "myDeformer0";
2. set weight of vertex of mesh0 in this way:
setAttr "myDeformer0.weightsList[0].weights[0]" 0.0;
setAttr "myDeformer0.weightsList[0].weights[1]" 0.1;
...
setAttr "myDeformer0.weightsList[0].weights[10]" 1.0;

3. set weight of vertex of mesh1 in this way:
setAttr "myDeformer0.weightsList[0].weights[0]" 0.0;
setAttr "myDeformer0.weightsList[1].weights[1]" 0.1;
...
setAttr "myDeformer0.weightsList[1].weights[10]" 1.0;


I set the attribute weights to be paintable in this way:
   makePaintable "myDeformer" "weights" -attrType "multiFloat" -sm "deformer";
If I select node "myDeformer0" and run this mel command:
   evalEcho("artAttrToolScript 3 \"myDeformer\"");
then I can paint the weight in Maya Editor Window, and the values will be stored into "myDeformer0.weightsList[0].weights[*]".

But, my question is, how to paint the values of myDeformer0.weightsList[1].weights?
I know I can set the values of myDeformer0.weightsList[1].weights[*], but it's not painting.
What the artists needs is painting the weight in Maya Editor Window.
Could you give me any clue?



Cheers
yao
0 0
A question about Maya BlendShape and skinCluster

hi all,
I'm watching Tom Ferstl's showreel2012(http://www.cgmeetup.net/home/tom-ferstl-rigging-showreel-cg-vfx/) which demonstrates an very insteresting plugin Partial BlendShape.
With that plugin, you can switch to a driver mesh(e.g. driver0) and the weights of each vertex of driver0 can be displayed on the driven mesh.
Then if you switch to another driver mesh(e.g. driver1), the weights of each vertex of driver1 can be displayed on the driven mesh.
It is similar to Maya BlendShape and skinCluster. I'm very curious about this functionality. How to make it?

And my question are:
1. Which mel cmds and procedures should be called to achieve this functionality?
2. If I were going to implement this functionality, which mel cmds and procedures do I have to call?
3. Which mel cmds and procedures should be called to achieve this similiar functionality for Maya BlendShape?
4. Which mel cmds and procedures should be called to achieve this similiar functionality for skinCluster?

Cheers
yao
0 0
count post selected

Add a Website Forum to your website.