🤸

RealSenseを使ってモーションキャプチャをする方法

2022/06/12に公開

①初めに

こんにちは。Meltyです。

前回に引き続き「パリピ孔明」のネタになります。
前回記事はこちらから!

今回は教授の部屋に眠っていたRealSenseを拝借してきました。
配布されていたダンスモーション以外にも自由にダンスができるようになったら面白いのではないかと思い、今回はRealSenseを用いてモーションキャプチャーを行なっていきます。

②動作環境

今回使用する環境一覧になります。
・Windows10
・REALSENCE™ DEPTH CAMERA D435
・Unity version:2020.3.19
・Nuitrack

③RealSenseの認識確認

RealSenseがちゃんと動くかを確認するために配布されているSDKからIntel RealSense Viewerを開いてみてください。ちゃんと認識していれば大丈夫です。
https://www.intelrealsense.com/sdk-2/

④Nuitrackのインストール

Nuitrackのホームページです。
今回はUnityのサンプルを使用するため、有料版を購入する必要はありません。
表情やより精度の良いモーションキャプチャを行いたい人は使ってみてください。
無償版もありますが、3分までしかトラッキングできないです。
https://nuitrack.com/

今回使用するパッケージは以下のgithubより入手可能
https://github.com/3DiVi/nuitrack-sdk

⑤作成の手順

1.モデルを入れる

前回の記事でモデルを入れて躍らせるまでの流れを記載してあるので、まだの方は下から見てみてください!
https://zenn.dev/meltydayo/articles/bce09fdf754984

2.パッケージをインポート

nuitrack-sdk-master > Unity3D > NuitrackSDK.unitypackage
からインポートしましょう。

3.シーンの設定

Nuitrack > Help > Open Tutorials Listから、モーションの録画はRecording Animation using Nuitrack and Motion Captureを選択する。

シーンに白い人型のモデルが表示される。

今回はHumanoid形式でモーションを作成するので、下のプロジェクトでHumanoidのシーンを選択しておく。

4.モーションを録画する。

カメラの位置を整えて、再生ボタンを押します。
Start Trackingを押すとトラッキングが開始されます。

5.保存されたモーションをモデルで動かす。

保存されたモーションはAnimationというところに入っています。
これをAnimation Controllerに入れて、新しいシーンでモデルを動かしてみましょう。
モーションのつけ方が分からない人は前回の記事を参照してください。

6.比較

再生を押すとモーションどおりに踊ってくれます。

全然踊れてないじゃん...と思っていましたが、本家と比較すると

どことなく踊れている気がするのです。

⑥最後に

今回は研究室に眠っていたRealsenseを使ってモーションキャプチャーをしてみました。
Twitterにも書いた敗因も大きく影響してはいるんですが、全体的にダンスのような速い動きをカメラで正確にトラッキングするのは難しいということが分かりました。

RGBカメラを使用しているということもあり、
①背景が単色であること
②黒くて、体に密着した服が必要であること
③RealSenseの認識範囲に正確に入っていること
が求められます。

この日忙しかったってのもあるんですが

①背景は色がバラバラ
②黒っぽくて密着する服がなかったのでスーツとスキニージーンズ
③部屋が狭いので認識範囲を正確に調べることが困難...

そらうまくとれるわけがない(笑)
笑ってごまかします。

次はPlaskっていうWebカメラだけでめっちゃ精度よくモーションキャプチャできるサービスを発見したので、こちらでやってみます!
それまでにダンスはもう少し上手くなっておかなければ...

Discussion