D日記

基本的には3Dソフトをに関するTipsで、Maya・3dsMax・Unityなどを扱ってる、モーションアーティストの技術ブログだよ!

MENU

【Maya】ジョイントをペアレントすると謎のTransformノードが出来上がる

f:id:ponta565:20190724234108p:plain

以前こんなツイートをしました。

3dsMaxから持ってきたジョイントはたまに問題起こる。
Maya上でジョイントの階層関係を変更すると、なぜかGroup化されてしまう。
よくわからないので、全てのジョイントを同じ位置に作り直したよ・・・・・

今回この解決方法がようやくわかりました。

どんな問題か?

こういう骨があるじゃろ?
f:id:ponta565:20190724222338p:plain

ジョイントを新規作成するじゃろう?
f:id:ponta565:20190724222451p:plain

作ったジョイントを、腰の子にすると謎のTransformノードが出来上がるのじゃ!!
f:id:ponta565:20190724222709g:plain

解決策!

スキニング情報を逃がす

何はともあれまずはスキニングしているデータの情報を逃さなければなりません。
スキニングデータ逃さないと不安よな。
ドラスキン、動きます。
DoraSkinWeightImpExp

メッシュを選択して、任意の名前(ウェイトデータ)をつけて赤枠内押下。シーン内にウェイト情報を保存します。
f:id:ponta565:20190724223943p:plain

シーン内にこんなノードが出来上がればOK。
f:id:ponta565:20190724224607p:plain

はいこれで、ウェイト情報は脱出出来ました!

バインドしているジョイントを選択セットへ保持

デタッチの前にバインドしているジョイントを覚えておきたいので、メッシュを選択して下記スクリプトを実行してください。

スキニングされたメッシュ(transform)を選択して実行すると、バインドジョイントの選択セットを ...


シーンに下記の選択セットができればOK。
f:id:ponta565:20190724225056p:plain

スキンのデタッチ

あとは、スキニングメッシュを選択して、[ Shift + Alt + D ] でアンバインド!
f:id:ponta565:20190724231818p:plain

【本題】ジョイントのトランスフォームのフリーズ

全てのジョイントを選択して、トランスフォームのフリーズ(スケールだけでOK)。
f:id:ponta565:20190724232036p:plain

これをやるためだけの下準備がとても長かったですね^^; えへへ。
でもお陰でこの通り直りましたー!!!!!
f:id:ponta565:20190724232305g:plain

あとは元に戻してください

1.選択セットに保持した全ジョイント と メッシュを選択
2.スキニング
3.スキニングメッシュを選択して、ドラスキンでインポート。
f:id:ponta565:20190724231457p:plain


最後急ぎ足でしたがこれで終わりです!めんどくさいですね!
他に良い方法があれば教えてください!