LoginSignup
7
8

More than 5 years have passed since last update.

Perception NeuronでレコードしたモーションデータをUnityの ヒューマノイドモデルに適応させる

Last updated at Posted at 2018-12-06

目的

Perception NeuronでキャプチャしたモーションデータをUnity上の
Humanoidキャラクター(Humanoid SkeletonへのRigがついている)モデルに転写したい!

結果動画

result.gif

PerceptionNeuronとは

PerceptionNeuronとは中国Noitom社によって開発された低価格(約$1,500)モーションキャプチャシステムです。キャプチャにはNeuronという加速度、ジャイロ、磁気計を持つIMU(慣性計測装置)32個と、それをコントロールする1つのハブで構成されています。
Axis Neuronという専用ソフトでモーションデータをレコードすることができ、BVH,FBX等のフォーマットでの書き出し、TCP/UDPを用いたリアルタイムでの送信も出来ます!ハブからpcへのwifi接続も出来ますが結構つながりにくいのでusb送信がおすすめです。

PerceptionNeuron:https://neuronmocap.com/ja

Axis Neuron

ここからdownload出来ます→https://neuronmocap.com/ja/downloads

モーションのキャプチャが出来たら左上タブのfile/exportへ行き、FileTypeをFBX 6.0(*.fbx)を選択

Unityでアニメーションの再生

ここで先ほど書き出したfbxデータをUnityに入れていきます。ここまでの過程でうまくいけば
終了ですが、うまくいかない場合があります。

失敗したやつ...これはこれで面白いですね笑

Unity-2018.2.13f1-Personal-_64bit_-SampleScene.gif

PerceptionNeuronを用いてモーションデータを受信する条件をモデルが満たしていないためです。制約としては以下の物が挙げられています。

  1. モデルはHumanoid SkeletonへのRigがついていること
  2. Rigの各ボーンはRotationが0で、軸の方向はUnityの座標軸と一致していること
  3. モデルはTポーズの形でRigづけされてること

解決手段

自分は以下のようなモデルを使用しました。Tポーズは取れていますが、回転角が0ではなかったので挙動がおかしくなりました。
Unity 2018.2.13f1 Personal (64bit) - SampleScene.unity - PerceptionNueron - PC, Mac & Linux Standalone _DX11_ 2018_12_06 15_54_46.png

Rotationを0にする

先程のfbxデータのinspectorでAnimation TypeがHumanoidになっていることを確認した上でconfigureを選択。そのあとはモデルの各部位のRotationを0にするだけでおっけいです!
Unity 2018.2.13f1 Personal (64bit) - Untitled - PerceptionNueron - PC, Mac & Linux Standalone_ _DX11_ 2018_12_06 16_25_54.png

Success!

result.gif

補足

アニメーションのFoot IKはオンにしておいた方が動きがきれいに見えます

参考

7
8
0

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
7
8