FoRのブログ

3DCGとかUnityとかのなんやかんや

Unity2017でMecanimに追加されたUpperChestについて

 Unity2017辺りで追加された(と思ったら5.6.1のときにはもうあったらしい。知らんかった…)UpperChestの項目。

f:id:for13:20170816104153j:plain

 先日のコレの最後、『動きを出力してunityに持っていって既存モデルにあてたら若干挙動がずれる』って話について。

for.hatenablog.jp

薄々「まぁUpperChestの分の動きがズレてる原因だろうなぁ」と思いつつ検証してみた。

用意したもの

  • モーションA:前回出力した謎の動き。UpperChestあり
  • モーションB:Aを複製し、インポート設定でMappingからUpperChestを外したもの
  • Assetから持ってきたモーション:UpperChest何それな時代のモーション。当然UpperChest無し
  • BoxPeople:以前出力したテスト用のハコ人間。UpperChest無し
  • BoxPeople+:新RIGに使ったBoxPeople。UpperChestあり
  • Tenryu:いつもの。UpperChest無し
  • Tenryu+:UpperChest足してウェイト調整

検証内容

  1. UpperChest対応骨にモーションA、未対応骨にモーションAを宛てる
  2. UpperChest対応骨にモーションA、未対応骨にモーションBを宛てる
  3. UpperChest対応骨にモーションB、未対応骨にモーションBを宛てる
  4. UpperChest対応骨、未対応骨共ににAssetから持ってきたモーションを宛てる

 の4パターン
ちなみに赤いほうがUpperChestあり。

赤いのと白いののズレが少なければいい感じ。

●UpperChest対応骨にモーションA、未対応骨にモーションAを宛てる

f:id:for13:20170816092655g:plain

前回おや?となったのがこのケース。

腰から下は比較的ズレ少ないけど、胸から先がうまく揃ってない。Mecanimも万能ではないんだなぁ。

●UpperChest対応骨にモーションA、未対応骨にモーションBを宛てる

f:id:for13:20170816092728g:plain

UpperChestが無い分、頭や肩辺りがズレがデカイけど。手とかはちゃんと補正されてる。

●UpperChest対応骨にモーションB、未対応骨にモーションBを宛てる

f:id:for13:20170816093042g:plain

一番ズレが少ない。

●UpperChest対応骨にAssetから持ってきたモーションを宛てる

f:id:for13:20170816093128g:plain

こちらもほとんど一致。

 

 3と4のケースからは、モデル側的にはUpperChestが有っても使わない分には動きに影響しないというのが判る。

まぁ当たり前か。

 

結論

  • 『新しく作ったモーションやUpperChest有りのモーションAssetを買ったのを、既存のモデルとかに使いたい』 って場合は、モーション側のインポート設定を弄ってUpperChestをNoneにすれば問題ないっぽい。
  • どうしても動きでUpperChestを使いたいなら、当然モデルにもUpperChest骨が足されてないといけない。
  • 新しいモデルに古いモーションを宛てる分には問題ない。

 

あぶねー Rigの構造見直しかと思った…

保存

保存

保存