きりきりだらだら

思ったこと、もろもろ。富山では馬鹿者をだらという。

たまにはMELでも

久しぶりにMayaに関することを書きます。
携帯電話向けアプリ開発に関わる人は、マスコットカプセルエンジンを利用することがあると思います。最近のJavaBrewで3Dモデルを使ったゲームに使われていたりします。
マスコットカプセルでテクスチャアニメーションなどを表現したい時、ダイナミックポリゴンというものを使いますが、このデータを出力する際に面倒に感じるときがあります。
私はMayaを使うことが多く、これに対応したプラグインも比較的良くできているんですが、モデルのアトリビュートに"dynamicPolygons"を付けるだけの作業に、メニューから選んであーだこーだと設定するのは面倒で、何だか時間を無駄にしている感じがしてました。

 
やっぱりそんな時はMELを使うに限ります。高度なものじゃなく、バッチ感覚のシンプルなものでかまわないですね。高度なものを作るくらいなら、メニューから手作業でする方がいいくらいかも。

global proc addDynamicPoly(){

	string $obj[] = `ls -sl -l`;
	string $dpolyname = $obj[0];

	if( size($obj)<1 ){	//何も選択されていない場合
		confirmDialog -message "Please select objects" -button "OK";
	}else{
		eval("addAttr -ln dynamicPolygons -at double  " + $dpolyname );
		eval("setAttr -e -keyable true " + $dpolyname + ".dynamicPolygons");
	}
}
addDynamicPoly;

ちょっとはずかしいくらいな、ホントに低レベルなスクリプトです。
ダイナミックポリゴンにしたいモデルを選択し、このスクリプトを動作させるだけでアトリビュートが追加されます。
シェルフに登録して使えば楽です。

その後はもうさっさと他の作業に専念すればいいのです。そしてどうぶつの森をワクワクしながらあーでもない、こーでもないと思いを馳せるのです。