MEL_scripts

自作スクリプト


メモが肥大化したので具体的なスクリプトを整理するためにこっちにまとめます。


Prefix削除のコマンド。
選択して消したい冒頭の文字列を入力して実行。

proc removePrefix(string $prefix){
	string $selected[] = `ls -sl`;
	
	for($sel in $selected){
		int $start = size($prefix)+1;
		int $end = size($sel);
		rename $sel (`substring $sel $start $end`);
	}
}

import後の名称整理とかに便利なはず。



最近大群物やってるんでランダマイズ物ばかり増えてますけど、
選択したオブジェクトのアトリビュートを散らすために良く使ってる。応用は幾らでも可。

{
	string $selected[] = `ls -sl -type transform`;
	for($sel in $selected){
		float $randVal = rand(最小,最大);
		setAttr $randVal ($sel+".AttributeName");
	}
}



ゴミノード消しのコマンド

ノードによってはロックがかかってて消せないのでノードロック外すために以下のコマンドを使う
lockNode -lock off

ほかにもこの辺は消しても問題無いデータタイプかな。

delete `ls -type unknown`;
delete `ls -type polyBlindData`;
delete `ls -type hyperView`;
delete `ls -type polyPlanarProj`;

確か別のトコにも散ってたと思うから将来的にこの辺一通りまとめよう。

あとゴミデータとしては余計なコネクションがある場合なんかもあってそれらを切ることも有効っぽい。


オフセットノード作成

リグ組む時にjointの値をリセットしたい時などに。
コントローラー組み込む時にそのまま繋げるだけになるから良く使ってる。

{
string $kb_offsetTgt[] = `ls -sl`;
float $kb_offsetTrs[];
float $kb_offsetRot[];
$kb_offsetTrs = `xform -q -t -ws`;
$kb_offsetRot = `xform -q -ro -ws`;
xform -a -t 0 0 0 -ro 0 0 0;
string $kb_offsetSoc = ($kb_offsetTgt[0] + "Offset");
group -n $kb_offsetSoc;
xform -a -t $kb_offsetTrs[0] $kb_offsetTrs[1] $kb_offsetTrs[2] -ro $kb_offsetRot[0] $kb_offsetRot[1] $kb_offsetRot[2];
}


選択したオブジェクトを名前毎にOBJとして保存

proc _exportfile(string $kb_target)
{
file -options "groups=0;ptgroups=0;materials=0;smoothing=0;normals=0" 
-type "OBJexport" 
-exportSelected ($kb_target + ".obj");
}
proc _doit()
{
string $kb_targets[] = `ls -sl`;
string $kb_target;
for($kb_target in $kb_targets)
{
select -r $kb_target;
_exportfile $kb_target;
}
}
_doit;

名前:
コメント:
最終更新:2012年08月05日 12:47
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。