LoginSignup
2

More than 3 years have passed since last update.

UnityでPerceptionNeuronのデータをクリーンに使う方法

Last updated at Posted at 2019-04-30

自己紹介

こんにちはゆずです。@Yuzu_Unity

手っ取り早く…

アセットが公開されているみたいなので、このアセットのインポートを行えば以下の記事は読む必要はありません!!
image.png
https://assetstore.unity.com/packages/tools/utilities/neuron-fbx-importer-144203
(※筆者はアセットを購入していません…)
無料で行いたい場合のみお願いします。

なぜデータがおかしな動作をするのか

簡潔に言うとUnityのHumanoidの仕組みによる誤作動です。
UnityのHumanoidアニメーションはHumanoid同士ならアニメーションがリターゲットできるというものになっています。
(初期TポーズからIK・FK等を用いオフセットのパラメータを割当する機能です。)

まずはスケルトンの定義を行います。
この時初期フレーム時のモーションがTポーズとして設定されます。
なのでNeuronのデータの場合、初期フレームにアニメーションが入ってしまいTポーズとして
設定されないといった現象が起こるのです。
これはNeuronに限らずMaya等のツールでも起こります。Mixamo等
Blender上ではクリップを分けられるので便利!!

解決策

やることは簡単です。
Tポーズの状態の同じボーン構造のデータを用意しそのスケルトン定義をコピーすればよいのです。
以下のデータにTポーズ(回転値0のデータ)の状態のデータを用意してみたのでダウンロードお願いします。
FBXデータ
ダウンロードしたデータをUnityにインポートしRigの項目のAnimationTypeをHumanoidにしApplyを押します。
image.png
次にNeuronから書き出したFBXデータを同様にHumanoidにし
AvaterDefinitionをCopyFromOtherAvatarに設定しSourceを先程インポートしたFBXデータのAvatarに設定しApplyを押します。
image.png
これで問題なく動作するようになります。

その他Tips

初期設定ではアニメーションがリダクション(フレームレートが減少)されてしまいます。
きれいに中割されるわけではないので、ただただカクカクになってしまいます。
なのでここの設定を変更すると、もとのフレームレートで動くことができます。
image.png

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2