paintEffect を使用して、オブジェクトの表面のランダムな位置にストロークを作成し、 違う種類のブラシをアタッチしてゆく MEL スクリプトを作成してみましょう。
global proc paintRandom1()
{
int $i;
string $n;
string $brush[] = {"riceAutumn", "astroturf"};
float $scale[] = {1.0, 5.0};
string $path = "C:/Program Files/Autodesk/Maya8.5/brushes/grasses/";
string $name[] = `nurbsPlane -axis 0 1 0`;
scale 20 20 20;
int $size = size($brush);
for($i = 0; $i < $size; $i++)
{
string $file = $path + $brush[$i];
eval("source \"" + $file + "\"");
select $name[0];
seed($i);
paintRandom(4, 4, 5, 0.52, 1, 1, 0, 0, 1, 1);
string $sname[] = `ls -sl -type stroke`;
for($n in $sname)
{
setAttr ($n + ".displayPercent") 5;
}
string $bname[] = `listConnections ($n + ".brush")`;
setAttr ($bname[0] + ".globalScale") $scale[$i];
}
}
global proc paintRandom1()
int $i;
string $n;
string $brush[] = {"riceAutumn", "astroturf"};
float $scale[] = {1.0, 5.0};
string $path = "C:/Program Files/Autodesk/Maya8.5/brushes/grasses/";
string $name[] = `nurbsPlane -axis 0 1 0`;
scale 20 20 20;
int $size = size($brush);
for($i = 0; $i < $size; $i++)
string $file = $path + $brush[$i];
eval("source \"" + $file + "\"");
select $name[0];
seed($i);
paintRandom(4, 4, 5, 0.52, 1, 1, 0, 0, 1, 1);
global proc paintRandom(
int $udensity, // スパン U
int $vdensity, // スパン V
float $strokeLength, // ストロークの長さ
float $randOffset, // ランダムオフセット
float $sampleDensity, // サンプル密度
int $arcLengthDensity, // 均一化 (0 または 1)
float $surfaceOffsetMin, // サーフェスの最小オフセット
float $surfaceOffsetMax, // サーフェスの最大オフセット
int $doClip, // エッジのクリップ (0 または 1)
int $shareOneBrush ) // 1 のブラシを共有 (0 または 1)
string $sname[] = `ls -sl -type stroke`;
for($n in $sname)
setAttr ($n + ".displayPercent") 5;
string $bname[] = `listConnections ($n + ".brush")`;
setAttr ($bname[0] + ".globalScale") $scale[$i];