LoginSignup
1
2

More than 1 year has passed since last update.

LeapMotion使った指のanimをbvhにした

Last updated at Posted at 2021-05-12

UnityからBlenderにモーション持っていきたいんだけど

この一言から検証が始まった。
なんとなくできそうなことだけがわかっていたので、安請負をしたところ結構ハマったのでメモとして残しておく。

使用したもの

  1. LeapMotion
  2. Unity 2019.3
  3. LeapMotionUnityDevKit(こんな名前かはしらない)
  4. uniVRM(0.55以上がよさそう?)
  5. FinalIK
  6. EasyMotionRecorder
  7. BVH Tools
  8. 適当なVRMのモデル

使用しなかったもの

  1. uOSC
  2. EVMC4U
  3. FBX Exporter

ほぼこの記事を参考に書かせていただいております。
https://note.com/361yohen/n/na74a81db00f4

苦戦したこと

  1. uniVRMのバージョン0.46を使っていたことで、FinalIKのFull Body Biped IKが半分ぐらいしか見えない状態だった
  2. FBXにするつもりでFBXExporter使っていたんだけど、コマみたいにしか動かなかった
  3. BVH Toolsの使い方が全く不明

手順

LeapMotionのセットアップ

なんか、前はあったかわかんないけど、SDKなどを取得するのにアカウント登録が必要なのでする。
https://developer.leapmotion.com/unity#116
これから、coreを使うのでダウンロードしておく。
unitypackageの中に入っている、
image.png
これをヒエラルキーに置く。
leapmotionがつながっていると、再生ボタンを押すとなんか動く。

RigRoundHand_L及びRigRoundHand_Lにいかのような空のケームオブジェクトをつけておく
image.png

このとき動きが鈍いようだったら、leapmotionが汚れてないかを確認。

UniVRMを読み込みついでにVRMを読み込む

割愛

FinalIK(課金要素)をインポート

LeftArmの三角を押すと、LeftHandEffectorというものが出てくるので、Targetにさっきの殻のオブジェクト(例ではHandL1)を指定
image.png
これで位置合わせをすると、leapmotionの手首に追従してくねくねと動くようになる。

指の設定

指が動いてほしい気持ちがあるので、配置したVRMモデルに小細工する。
image.png

手首と思われる骨に、Rigged Fingerをアタッチ、指の第1関節を設定。
そのあと、LeapMotionのサンプルの中に入ってる、RigidRoundHand_RのRigedHandの値を更新。
image.png
指は一本一本丁寧にやる。
image.png

これでたぶんLeapMotionでVRMのモデルが動くはず。

モーションデータの収録

EasyMotionRecorderをヒエラルキーにおいて、Animatorを設定。
VRM指定するだけでいい。
image.png

再生ボタン押したあと、Rでデータ保存開始、Xで終了。
よくUnityの再生ボタンを切り忘れるので注意。
image.png
Resourcesのなかに保存されたものが溜まっていく。
空白の立方体みたいなアイコンみたいなものをインスペクタで変換する
image.png
これで.animデータができる。

animデータをbvhに変換する

アニメーターコントローラー作って、animを設定。
モデルをもう一体立てて、アニメを埋め込む。
BVHTools内の、BVHRecorderというものを空のゲームオブジェクトにアタッチする。
image.png
MotionTargetを設定。
保存先のディレクトリ(存在しているもの)と、使っていない名前をつける。(上から2つのDirectoryとFileName)
再生ボタン押したあと、Save Motion to BVH を押す。
再生ボタンをもう一度押して画面を止めると、指定したディレクトリにBVHファイルができている。

めでたしめでたし。
Blenderなどで読み込めるので活用ください。

疲れたー。。。
もっといいほうほうあれば教えて下さい。

1
2
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
1
2