パーティクルのインスタンスの制作手順を、 MEL スクリプトで自動化してみましょう。
proc string makeBrush()
{
source "C:/Program Files/Autodesk/Maya8.5/brushes/feathers/featherWhite.mel";
string $sname = `stroke -s 0`;
string $bname[] = `duplicate -un featherWhite`;
brushStartSetup $bname[0] 1;
connectAttr ($bname[0] + ".outBrush") ($sname + ".brush");
connectAttr time1.outTime ($bname[0] + ".time");
string $cname = `curve -d 3 -p -0 -0 0 -p 0.2 0.2 0 -p 0.4 0.6 0 -p 0.6 0.4 0 -k 0 -k 0 -k 0 -k 1 -k 1 -k 1`;
connectAttr ($cname + ".ws") ($sname + ".pathCurve[0].curve");
setAttr ($sname + ".pathCurve[0].samples") 7 ;
setAttr ($sname + ".pathCurve[0].opposite") false ;
setAttr ($bname[0] + ".globalScale") 2;
return $sname;
}
global proc makeInstance1()
{
string $oname = makeBrush();
polyPlane -sw 5 -sh 5;
scale 20 20 20;
string $ename[] = `emitter -type direction -r 1 -dx 0 -dy -1 -dz 0 -speed 5 -speedRandom 5`;
string $pname[] = `particle`;
connectDynamic -em $ename[1] $pname[0];
particleInstancer -addObject -object $oname $pname[1];
select $pname[0];
string $aname[] = `air -pos 0 0 0 -m 20 -att 1 -dx 1 -dy -1 -dz 0 -s 5 -mxd 20`;
connectDynamic -f $aname[0] $pname[0];
}
proc string makeBrush()
source "C:/Program Files/Autodesk/Maya8.5/brushes/feathers/featherWhite.mel";
string $sname = `stroke -s 0`;
string $bname[] = `duplicate -un featherWhite`;
brushStartSetup $bname[0] 1;
connectAttr ($bname[0] + ".outBrush") ($sname + ".brush");
connectAttr time1.outTime ($bname[0] + ".time");
string $cname = `curve -d 3 -p -0 -0 0 -p 0.2 0.2 0 -p 0.4 0.6 0 -p 0.6 0.4 0 -k 0 -k 0 -k 0 -k 1 -k 1 -k 1`;
connectAttr ($cname + ".ws") ($sname + ".pathCurve[0].curve");
setAttr ($sname + ".pathCurve[0].samples") 7 ;
setAttr ($sname + ".pathCurve[0].opposite") false ;
setAttr ($bname[0] + ".globalScale") 2;
return $sname;
global proc makeInstance1()
string $oname = makeBrush();
polyPlane -sw 5 -sh 5;
scale 20 20 20;
string $ename[] = `emitter -type direction -r 1 -dx 0 -dy -1 -dz 0 -speed 5 -speedRandom 5`;
string $pname[] = `particle`;
connectDynamic -em $ename[1] $pname[0];
particleInstancer -addObject -object $oname $pname[1];
-addObject -object $oname
select $pname[0];
string $aname[] = `air -pos 0 0 0 -m 20 -att 1 -dx 1 -dy -1 -dz 0 -s 5 -mxd 20`;
connectDynamic -f $aname[0] $pname[0];