はじめに
って人向けにスマホをwebカメラとしてPCと連動させて3Dアバターを動かす事を前回の記事で解説しました。
これだけでもかなりイイんですが、表情が3種類+「あいうえお」までしか同時に表現できない?
あとは表情変えたまま喋る(口を動かす)と顔面崩壊する。
例)驚き顔で口があんぐり開いてる状態で喋るとさらに口が開いてバケモノになる
ってことで別アプリをさら連動させてみようという試みです。
※公開時からすみませんが注意点あります!
紹介するソフト
・Epoccam
※導入については前回記事の参照お願いします。
※Epoccamのカメラ情報を後述のSplit camで分岐するつもりが、うまくいきませんでした。なので、結果的に使用してない・・・はず。
実はこの記事を書いている最中にWMCのベータ版が公開され、動作安定のためにSplitCamはアンインストールしてしまっています
・Webcam motion capture(以下WMCと記載)
上半身+手指トラッキングアプリ
※導入については前回記事の参照お願いします。
・VseeFace
これ単体でも上半身トラッキングできる。
海外勢にはメジャーなアプリらしい。背景透過させたりできる強みあり。
表情自動認識や表情ごとにまばたき設定や口を連動させるかのON/OFFができる。
WMCから手指トラッキング情報を渡すことで、このアプリ内で手指を動かせる。
・Split Cam
仮想のWebカメラを増やすアプリ
今回のように複数アプリで表情+手指トラッキングをわける際に必要。
実は色んな映像を統合したりできるOBSのようなアプリらしい。
※今回の記事では使用していますが、私の環境ではEpoccamを認識できず、WMCのカメラ認識に良くない影響がありそうだったため、その後アンインストールしています
VseeFaceの導入
公式サイトは以下
公式サイトのダウンロードからDLしましょう。
特に難しくはなく、解凍すればOK。
Split Camの導入
公式サイトは以下
これはインストーラーをDL後、任意のフォルダにインストールするやつ。
作業の流れ(ざっくり)
ここから実際の作業について解説。
当初の想定とは挙動が異なりましたが、最終的には目的を果たしています。
ざっくりとした流れとしては以下の通り。
②WMCで手指トラッキングさせ情報を外部へ送信する
③VseeFaceでも表情トラッキングさせる
④VseeFaceで③のトラッキング情報を受信して手指を動かせる状態にする
こんな感じです。
webカメラは何かつのトラッキングアプリで使用すると、他のアプリでは読み込めなくなってしまう。
なので、今回のように表情はVseeFaceにしたいけど、手指はWMCにしたい・・・そういう時には本来、カメラが2台必要になるわけです。
そのためSplitCamを使うわけですが、こいつでスマホをwebカメラにすると既に分岐が働いているのか二つのトラッキングアプリで映像を使用できました。
作業の流れ(詳細)
1)シーンにある+ボタンからPhoneカメラを追加する
3)するとネット回線を介してスマホがwebカメラとして機能する
※本来、Epoccamを分岐するつもりが、映像を拾ってくれませんでした
(webカメラを選ぶとEpoccamのPC側アプリCamera Hubを選択できるが映像がでなかった)
②WMCで手指トラッキングさせ情報を外部へ送信する
1)WMCを起動してカメラをSplitCamにする。
2)通常通り手指や身体のトラッキングが効いている事を確認
3)「外部アプリに送信」にチェックを入れる
4)「Blend Shapeを送信」のチェックは外す(表情データは不要のため!)
5)「送信開始」をクリック
※ポート番号を確認しておきましょう。VseeFace側でこの番号を受け取ります
③VseeFaceでも表情トラッキングさせる
1)VseeFaceを起動してカメラはSplitCamを選択
2)通常通り動作する事を確認
④VseeFaceで③のトラッキング情報を受信して手指を動かせる状態にする
1)一般設定を開く
2)OSC/VMCプロトコル受信
ポート番号が前段のWMCで送信したものと同じ事を確認
3)VseeFaceトラッキングで使用にチェック
他、表情や目、あごのトラッキングにもチェック(画像参照)
4)手指が動いて、表情も動く事を確認できれば完了
これでWMCの手指情報とVseeFaceの表情認識の合わせ技ができました!