2015年2月28日土曜日

yjp_DuplicateMeshSkin

以前作ったyjp_DuplicateMeshSkinで
バインドされたメッシュを加工し、ヒストリーを消す時にyjp_DuplicateMeshSkinを使う事で
ウエイトが崩れずに済むと聞いて試したら本当に大丈夫だった。
でも中間オブジェクトが複数出来てしまうと・・
見てみると複数できている。
yjp_DetachBindShelfで再バインドしてみると中間オブジェクトを消す処理でエラーが発生している
ちょっと調べてみよう。



global proc string yjp_DuplicateMeshSkin()
{
string $objs[] = `ls -sl`;
if( size($objs) == 0)return(0);
//メッシュ複製
rename $objs[0] ($objs[0] + "_old");
string $newmeshA[] = `duplicate -n $objs[0] -rr ($objs[0] + "_old")`;
yjp_doImitateBind ($objs[0] + "_old") $newmeshA[0];

return ($newmeshA[0]);
}
という事で新メッシュ名を変えるんではなく、古いほうの名前を変えるようにした。
中間オブジェは置いておく。
消すのは↓こちらで消す。
http://area.autodesk.jp/column/tutorial/maya_atoz/about_node/index-2.html

yjp_DetachBindShelfの中間オブジェを消す処理も削除した。
中間オブジェを使っている人もいるかもしれないので、MELは分けます。
s_MayaScriptsをDLしないとDuplicateMeshSkinは使えないです。
yjp_doImitateBind プロシージャを使っています。

0 件のコメント:

コメントを投稿