Unityでモーションキャプチャする方法【1ボタンで記録+編集可能】

Unityでモーションキャプチャする方法はEasyMotionRecorderとVRゴーグルの組み合わせがおすすめって本当?
モデルをセットしてRキー1ボタンで記録を開始するだけって本当?
後からじっくり編集可能だから凝ったVTuberやミュージックビデオにも最適って本当?
こんな疑問に答えます。

僕はVRoidで漫画が作れるiPhoneアプリComicamを開発して公開中です。
そんな僕が解説していきます。

作業環境

Unity2018.2.21f1
HTC Vive

Unityでモーションキャプチャする方法【モデルをセットしてRキー1ボタンで記録するだけ】

UnityにEasyMotionRecorderをセットアップする

EasyMotionRecorderをダウンロードする

» EasyMotionRecorder(GitHub)
MITライセンスです。

EasyMotionRecorderのプレハブファイルを左サイドバーに置く

EasyMotionRecorderフォルダ>Prefabs>EasyMotionRecorder.prefabをドラッグしてヒエラルキー(左サイドバー)に置きます。

EasyMotionRecorderのインスペクタで3Dモデルをセットする

EasyMotionRecorderを選択しインスペクタ(右サイドバー)のAnimatorの部分で人物3Dモデルを選択します。

Unityに3D人物モデルやモデルを動かす仕組みも準備しておく

3D人物モデルや動かす仕組みは準備しておく必要があります。

SteamVRPlugin

HTC ViveなどVRゴーグルをUnityで使うために必要です。
» SteamVR Pluginをダウンロードする方法【その後の作業の概要も紹介】

IK系のアセット

今回はXR_MecanimIKPlusを使わせていただきました。
» XR_MecanimIKPlus

有料のFinal IKも定番です。
» Final IK

3D人物モデル

今回はXR_MecanimIKPlusでも使われているUnityちゃんを使っています。
» DATA DOWNLOAD(Unity Technologies Japan)

VRoidの作り方はこちらで解説しています。
» VRoidの完全マップ【入門・基礎・中級・上級を徹底解説】

XR_MecanimIKPlusでVRoid(VRM)を動かすのも簡単に成功できました。
別記事で書きたいと思います。

モーションを記録する

  • 再生ボタンを押す
  • Rキーで記録開始
  • 演じる
  • Xキーで終了

これだけでOKです。

Resourcesフォルダにモーションファイルが生成されます。

モーションを再生して確認する

モーションファイルをここにドラッグします。
上部の再生実行ボタンを押した後、Sキーを押せば再生でTキーで停止します。

モーションを編集するためにAnimation Clipに変換する

ここです

モーションファイルを選択した上で、インスペクタ(右サイドバー)の上部ら辺で右クリックして「Humanoid Animation Clipにエクスポート」を選びます。

これで無事にAnimation Clipファイルが生成されました。

これでモーションキャプチャは完了です。

Unityでモーションキャプチャする時に知っておきたいこと【後からじっくり編集可能です】

モーションキャプチャが成功しない時の対策

スタートストップのキーがちゃんと押せていたか目で確認する

Rキーを押すと数字メーターが回り出すのでそれを見届けてからゴーグルを被ればOKです。
最後はゴーグルを脱いでXキーをしっかり押さないと上手くモーションが生成されないので注意です。
Unityを停止させる前にXキーを押しましょう。

もしどうしてもキーが反応しない場合は他の機能のショートカットキーと被っている可能性もあるのでプルダウンで他のキーを設定してみましょう。

ゴーグルを被るまでの1分くらい時間に余裕を持たせて音楽を入れておく

ミュージックビデオの場合は音楽に合わせて動く必要がありますが、曲前に1分くらい空白を入れて曲をセッティングするのがおすすめです。
メガネだとVRゴーグルを着脱しにくいので僕はコンタクトレンズにしています。
» レンズラボは口コミ通りか実体験で解説【付け心地は一緒+買う方法】

モーションが地面に埋まってる場合はRoot Transform Postion(Y)をOriginalにします

もしモデルが埋まって表示されることがあれば、Animation Clipファイルのインスペクタ(右サイドバー)で修正します。

Root Transform Postion(Y)のBased Uponの部分です。
ここをCenter of MassからOriginalに変更します。

人物モデルのどこをY軸方向の基準面とするかという設定です。

モーションキャプチャする他の方法との比較

 記録する手段 コメント
Easy Motion Recorder ・無料(MITライセンス)
・モーションファイルとして記録してAnimation Clipに変換可能
・Unity2018.2.21f1でも問題なく動作
Unity Recorder ・モーションではなく直接Animation Clipとしての記録は可能
・物理演算・表情しか記録に成功できてない
・VR機器でのモーション記録はできないのかも
・超限られたバージョンのUnityでしか使えない
バーチャルキャスト  ・後からモーションの編集はできない
・動画としての撮影は可能
VRChat ・後からモーションの編集はできない
・動画としての撮影は可能

UnityでViveでのモーションをキャプチャして記録する手段はEasy Motion Recorder以上によさそうなものは僕は見つけられませんでした。
Unity Recoderはどちらかというと動画での記録がメインで操作が不安定な印象です。

バーチャルキャストの使い方はこちらの記事で解説しています。
» バーチャルキャストのやり方を解説【キャプチャで放送・機能も豊富】

VRChatについてはこちらで解説しています。
» VRChatの完全マップ【入門・基礎・中級・上級を徹底解説】

モーションキャプチャを後からじっくり編集すれば凝ったVTuberやMVの作成が可能です

モーションキャプチャの後の作業としては、Animation Clipのタイムラインを編集していけばOKです。
カメラワークや表情なども後付け可能です。
» UnityのTimelineを解説【キャラの表情や動きを5秒で編集可能です】

参考:https://github.com/duo-inc/EasyMotionRecorder

というわけで今回は以上です。
モーションキャプチャで簡単にミュージックビデオが作れそうでワクワクします。

関連記事HTC Viveのセットアップ作業の全まとめ【購入からプレイまで徹底解説】

関連記事【簡単】Unityで360度の画像を作る方法【球にセットするだけです】

-Unity