MEL入門009 for文を使用する。


MEL入門008でバックフェースカリングを行うMELを作成しました。


string $selOBJ= `ls -sl`;
// 配列を使用した記述方法は setAttr $selOBJ[0].backfaceCulling 3そのままではなく、下記になります。
setAttr ( $selOBJ[0]+ ".backfaceCulling ")3;
setAttr ( $selOBJ[1]+ ".backfaceCulling ")3;

と書きましたが


これでは2つの選択したオブジェクトのみしか使用できません。


選択するオブジェクト全てに使用するにはfor文を使用します。このように書きます。


string $selOBJ;
string $selOBJS= `ls -sl`;

for( $selOBJ in $selOBJS )
{
setAttr ( $selOBJ + ".backfaceCulling ")3;
};


for( $selOBJ in $selOBJS )の
$selOBJ in $selOBJS は 条件です。


この条件で $selOBJSに $selOBJ が入るごとに
{
setAttr ( $selOBJ + ".backfaceCulling ")3;
};

を繰り返し実行します。


バックカリングを解除するMELは


string $selOBJ;
string $selOBJS[]= `ls -sl`;

for( $selOBJ in $selOBJS )
{

setAttr ( $selOBJ + ".backfaceCulling ")0;

};