これを書こう思ったきっかけ
VSinger(歌うVTuber)のMVをいつか自分1人で作ってみたい!
そして、VSingerになりたいと思い、
その周辺技術の調査とメモのためのモチベーションとして、本記事を書いてみました!
今回の記事の内容
- スマホだけで自分の動きをフルトラッキング
- PCにモーションデータを持っていき編集
- Unity上のVRMに動きを反映
ここまでの流れを作成していきます。
手順
実行環境
-
PC(自分の場合はMacBook Pro)
-
スマホ(自分の場合はiPhoneSE2)
-
Unity(自分の場合はUnity 2018.4.36f1)
-
Blender(自分の場合はVersion 2.93.1)
-
TDPT(自分の場合はバージョン1.0.2)
1. モーションの撮影
まず、スマホにTDPTというアプリをインストールします。
このアプリは、単眼カメラだけでかなり高精度で姿勢推定を行ってくれます。
凄すぎる...
無課金でも使えるのですが、今回は課金をして、PCにデータを送りたいと思います。
やり方は以下の通り
-
TDPT
を開きます。 - 下の部分の星マークを押します
- ここからの作業は課金が必要です。
-
Premium menu
>Exporting motion data
>BVH
を押すとモーションの録画が開始します。 - 全身が映るような場所に移動しモーションを撮りましょう
- 撮り終わったら
Stop
を押します。 - モーション(bvhファイル)は
ファイル(アプリ)
>このiPhone内
>TDPT
>motion
の中に生成されています。 - このbvhファイルをなんらかの方法(おすすめはAirDrop)でPCに送ります。
2. Unityの準備
- Unityで3Dのプロジェクトを作成します。
-
このあたりを参照してUniVRMをインストールします(今回使ったバージョンは0.66.0)
-
VRoidHubなどから好きなVRMファイルをダウンロードしてUnityのAssetsに追加します。
-
Prefab Asset
(キャラクターの書いてあるやつ)をシーンに追加します。
- カメラとかを良い感じにします。
3. モーションの準備
4. VRMにモーションに反映する
- blendファイルをUnityのAssetsに追加する。
- 上記を開き
Rig
>Animation Type
をHumanoidに変更、Optimize Game Objectsにチェックを入れ、Apply
-
Create
>Animator Controller
で作成
- 名前を変更して開き、
Create State
>Empty
で作成
- 名前を変更し
Motion
をblendファイルの中のものに指定する。
- VRMモデルの
Animator
>Controller
を先ほど作成したモーションに変更
- 完成
完成動画
参考にしたサイト
感想
スマホとPCだけでここまでできると思いませんでした。
かがくのちからってすげー!