melスクリプト05 繰り返し作業
以前予告してそのままにしていたMayaでの繰り返し作業の効率化についてです。
改めて前置きしておきますが、本当にくだらないものです。
ただ、大きなデータを扱う時は重宝します。
恐らく探せば汎用性もある高機能なmelが見つかると思いますが、それも面倒なので
必要な時に必要なコマンドを探して作っただけです。
コメントに効用を書いておきます。
//ランダムスケール 0.8と1.2を数値を変えることで範囲を変えられます。 for($work in `ls -sl`){ $a=`rand 0.8 1.2`; setAttr ($work+".scaleX") $a; setAttr ($work+".scaleY") $a; setAttr ($work+".scaleZ") $a; }
//同じ番号のポリゴンを削除 10:11の数値を変えることで削除するポリゴンを変えられます。 for($work in `ls -sl`){ delete ($work+".f[10:11]") ; }
//ランダム回転 0と360の数値を変えることで範囲を変えられます。 for($work in `ls -sl`){ $a=`rand 0 360`; setAttr ($work+".rotateY") $a; }
//uvセットの選択 map1の名前を変えることでuvセットを変更できます。 for($work in `ls -sl`){ polyUVSet -currentUVSet -uvSet "map1" $work; }
//uvセットの作成 for($objects in`ls -sl`){ polyUVSet -create -uvSet "map2" $objects; }
//uvリンク [3]の値を変えることでuvセットを変えられます。***にアトリビュートで表示されるテクスチャの名前を入れることでテクスチャを選択できます。 for($work in `ls -sl`){ uvLink -uvSet ($work+".uvSet[3].uvSetName") -texture ***; }
//アンビエント色一括変換 0 0 0の数値を変えることで色を変えられます。 { string $mat[] = `ls -type lambert`; for($m in $mat) { setAttr ($m+".ambientColor") -type double3 0 0 0; }
//ディフューズ一括変換 1の数値を変えることで具合を変えられます。 { string $mat[] = `ls -type lambert`; for($m in $mat) { setAttr ($m+".diffuse") 1; }
//オブジェクトバックカリングのオフ シーン全体のポリゴンメッシュに対して行います。 for($n in $Obj){ setAttr ($n+".backfaceCulling") 0; }
どれも単純です。公開するのが恥ずかしいくらいのものです。
コマンドを探すのに苦労した程度のものです。
では、今回はこの辺で。
コメントする
トラックバックする
トラックバック用URL: