セットアップをMELで自動化

左右で40本の羽に同じ仕込をする必要がありますから、
羽1本1本に仕込んでいくのが面倒なので、
簡単なMELを組んでみました。
for文の単純な繰り返し作業です。
後からの修正するにも一から再構築するにも大変便利です。
{
//ミラーボーン
for($i=1; $i<=20;$i++){
string $obj = “LeftWingSkl|LeftWing” + $i;
select -r $obj ;
mirrorJoint -mirrorYZ -mirrorBehavior -searchReplace “Left” “Right”;
}
}
{
//スプラインIK
for($i=1; $i<=20;$i++){
string $obj = “LeftWingSkl|LeftWing” + $i + “|LeftWingm1.rotatePivot”;
string $obj2 = “LeftWingSkl|LeftWing” + $i + “|LeftWingm1|LeftWingm2|LeftWingm3|LeftWingm4|LeftWingm5.rotatePivot”;
select -r $obj ;
select -add $obj2 ;
ikHandle -sol ikSplineSolver;
}
for($i=1; $i<=20;$i++){
string $obj = “RightWingSkl|RightWing” + $i + “|RightWingm1.rotatePivot”;
string $obj2 = “RightWingSkl|RightWing” + $i + “|RightWingm1|RightWingm2|RightWingm3|RightWingm4|RightWingm5.rotatePivot”;
select -r $obj ;
select -add $obj2 ;
ikHandle -sol ikSplineSolver;
}
}
{
//リビルドカーブ
for($i=1; $i<=40;$i++){
string $obj = “curve” + $i;
select -r $obj ;
rebuildCurve -ch 1 -rpo 1 -rt 0 -end 1 -kr 0 -kcp 0 -kep 1 -kt 0 -s 2 -d 3 -tol 0.01 $obj;
}
}
{
//ソフトボディ
for($i=1; $i<=40;$i++){
string $obj = “curve” + $i;
select -r $obj ;
dynCreateSoft 0 0 1 0.5 0;
}
}
{
//パーティクルウェイト設定
float $fv[5] = {1.0, 0.9, 0.8, 0.7, 0.5};
for($i=1; $i<=40;$i++){
for($j=1; $j<=4;$j++){
string $obj = “curve” + $i + “ParticleShape”;
particle -e -or $j -at goalPP -fv $fv[$j] $obj ;
}
}
}
{
//ダイナミクスウェイト値設定
for($i=1; $i<=40;$i++){
string $obj = “curve” + $i + “ParticleShape.dynamicsWeight”;
setAttr $obj 0.1;
}
}
{
//コンサーブ値設定
for($i=1; $i<=40;$i++){
string $obj = “curve” + $i + “ParticleShape.conserve”;
setAttr $obj 0.8;
}
}
{
//羽のスムースバインド
//Left
for($i=1; $i<=20;$i++){
string $obj = “LeftWingGroup|LeftWingPoly” + $i;
string $skl = “LeftWingSkl|LeftWing” + $i;
select -r $obj;
select -tgl $skl;
SmoothBindSkin;
}
//Right
for($i=1; $i<=20;$i++){
string $obj = “RightWingGroup|RightWingPoly” + $i;
string $skl = “RightWingSkl|RightWing” + $i;
select -r $obj;
select -tgl $skl;
SmoothBindSkin;
}
}

コメントは受け付けていません。