久しぶりにMayaに関することを書きます。
携帯電話向けアプリ開発に関わる人は、マスコットカプセルエンジンを利用することがあると思います。最近のJavaやBrewで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;
ちょっとはずかしいくらいな、ホントに低レベルなスクリプトです。
ダイナミックポリゴンにしたいモデルを選択し、このスクリプトを動作させるだけでアトリビュートが追加されます。
シェルフに登録して使えば楽です。
その後はもうさっさと他の作業に専念すればいいのです。そしてどうぶつの森をワクワクしながらあーでもない、こーでもないと思いを馳せるのです。