2014年9月2日火曜日

バインドをコピーするMEL

yjp_DetachBindShelfに続いて作ってみた。
似たようなメッシュに同じジョイントでバインドしたいなーと思ったので作ってみました。
バインドされたメッシュを選んで次にバインドをコピーしたいメッシュを選んで実行。


global proc yjp_ImitateBind()
{
    string $objs[] = `ls -sl`;
    if( size($objs) < 2 )return;

    string $scs = `findRelatedSkinCluster $objs[0]`;
    string $sct = `findRelatedSkinCluster $objs[1]`;
if( size($scs) == 0 )return;
    if( size($sct))return;

string $jointlistname[] = `listConnections -type "joint" ($scs +".matrix")`;
    int $maxInf = `getAttr ($scs + ".maxInfluences")`;
    currentTime 0 ;
   
    select $objs[1];
    FreezeTransformations ;
    DeleteHistory ;
    string $scnext[] = `skinCluster -mi $maxInf -omi true -dr 4 -rui true -tsb $jointlistname $objs[1]`;
    copySkinWeights -ss $scs -ds $scnext[0] -ia "closestJoint" -ia "oneToOne";
select $objs[1];
return ;
}

0 件のコメント:

コメントを投稿