hibitの技術系メモ

数学とか3Dとか翻訳とか

クロースコンポーネントが爆発する/縮む時の対処法

クロースコンポーネント爆発事件

 アバター制作において、時にボーンだけでは表現が難しい場合があります。服がたるむ様子などがその代表的な例でしょう。そのような時にUnityのクロースコンポーネントは強力な武器になります。

f:id:hibit_at:20180910205656p:plain

 使い方も簡単です。このようにピン止め部分を指定して、コライダーを別途指定して…

f:id:hibit_at:20180910204228g:plain

 爆発しとるやないか!

 なぜこのようなことが起こってしまったのでしょうか。

解決策

f:id:hibit_at:20180910205800p:plain

 結論から言うと、Blender(Maya使ったことないですけど、多分Mayaでも出来るでしょう)で「回転と拡縮の適用」をすれば直ります。ある程度実験した結果、どうやらボーンヒエラルキーの中にオブジェクトが位置付けられると、強制的に位置やスケールが指定されてしまうようです。普段は「元の拡大率」が表に出ることはないのですが、なぜかクロースコンポーネントを適用した時だけ元の拡大率に戻ろうとするムーブをしてしまうみたいです。私は経験がないですが、恐らく同様の理由で「縮む」時もこの対策が有効かと思われます。

f:id:hibit_at:20180910210409g:plain

 和解した! 俺はクロースと和解したぞ!

補足

 Blenderで編集を加えた時はUnity上ではなく、エクスプローラ上でファイルを置き換えると、Unity上でやった操作を残したままfbxファイルだけ置き換えることができます。初心者の頃はいちいちPrefabを消して一から作り直してました……。

f:id:hibit_at:20180910210512p:plain

 皆様も良きUnityライフを。