Unity2017でMecanimに追加されたUpperChestについて
Unity2017辺りで追加された(と思ったら5.6.1のときにはもうあったらしい。知らんかった…)UpperChestの項目。
先日のコレの最後、『動きを出力してunityに持っていって既存モデルにあてたら若干挙動がずれる』って話について。
薄々「まぁUpperChestの分の動きがズレてる原因だろうなぁ」と思いつつ検証してみた。
用意したもの
- モーションA:前回出力した謎の動き。UpperChestあり
- モーションB:Aを複製し、インポート設定でMappingからUpperChestを外したもの
- Assetから持ってきたモーション:UpperChest何それな時代のモーション。当然UpperChest無し
- BoxPeople:以前出力したテスト用のハコ人間。UpperChest無し
- BoxPeople+:新RIGに使ったBoxPeople。UpperChestあり
- Tenryu:いつもの。UpperChest無し
- Tenryu+:UpperChest足してウェイト調整
検証内容
- UpperChest対応骨にモーションA、未対応骨にモーションAを宛てる
- UpperChest対応骨にモーションA、未対応骨にモーションBを宛てる
- UpperChest対応骨にモーションB、未対応骨にモーションBを宛てる
- UpperChest対応骨、未対応骨共ににAssetから持ってきたモーションを宛てる
の4パターン
ちなみに赤いほうがUpperChestあり。
赤いのと白いののズレが少なければいい感じ。
●UpperChest対応骨にモーションA、未対応骨にモーションAを宛てる
前回おや?となったのがこのケース。
腰から下は比較的ズレ少ないけど、胸から先がうまく揃ってない。Mecanimも万能ではないんだなぁ。
●UpperChest対応骨にモーションA、未対応骨にモーションBを宛てる
UpperChestが無い分、頭や肩辺りがズレがデカイけど。手とかはちゃんと補正されてる。
●UpperChest対応骨にモーションB、未対応骨にモーションBを宛てる
一番ズレが少ない。
●UpperChest対応骨にAssetから持ってきたモーションを宛てる
こちらもほとんど一致。
3と4のケースからは、モデル側的にはUpperChestが有っても使わない分には動きに影響しないというのが判る。
まぁ当たり前か。
結論
- 『新しく作ったモーションやUpperChest有りのモーションAssetを買ったのを、既存のモデルとかに使いたい』 って場合は、モーション側のインポート設定を弄ってUpperChestをNoneにすれば問題ないっぽい。
- どうしても動きでUpperChestを使いたいなら、当然モデルにもUpperChest骨が足されてないといけない。
- 新しいモデルに古いモーションを宛てる分には問題ない。
あぶねー Rigの構造見直しかと思った…
保存