目的
Perception NeuronでキャプチャしたモーションデータをUnity上の
Humanoidキャラクター(Humanoid SkeletonへのRigがついている)モデルに転写したい!
結果動画
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に入れていきます。ここまでの過程でうまくいけば
終了ですが、うまくいかない場合があります。
失敗したやつ...これはこれで面白いですね笑
PerceptionNeuronを用いてモーションデータを受信する条件をモデルが満たしていないためです。制約としては以下の物が挙げられています。
- モデルはHumanoid SkeletonへのRigがついていること
- Rigの各ボーンはRotationが0で、軸の方向はUnityの座標軸と一致していること
- モデルはTポーズの形でRigづけされてること
解決手段
自分は以下のようなモデルを使用しました。Tポーズは取れていますが、回転角が0ではなかったので挙動がおかしくなりました。
Rotationを0にする
先程のfbxデータのinspectorでAnimation TypeがHumanoidになっていることを確認した上でconfigureを選択。そのあとはモデルの各部位のRotationを0にするだけでおっけいです!
Success!
補足
アニメーションのFoot IKはオンにしておいた方が動きがきれいに見えます
参考