見出し画像

【Warudo】MediaPipeによるモーションキャプチャー(トラッキング)時にキャラクターのムダな体の動きを止める方法


前置き

 最近少しずつ話題になってきていますが、読者の皆さまは主にVroidモデル(3Dアバター。Virtual Reality Modelを略したVRMと呼ばれることも。)のVTuberさんのライブ配信・動画制作に活用できる『Warudo』というアプリケーションをご存知でしょうか?

 私も普段の配信、特に歌枠ではもっぱらWarudoを活用しているVTuberの1人です(宣伝)!

 今回はそんなWarudoの公式Discordなんかで頻繁に挙がる、「MediaPipeでモーションキャプチャーしたら、キャラクターの体が異常にグニャグニャ動いちゃうんですけど!?」という問題の解決方法を記事としてまとめていこうと思います。

 ※PCに接続可能なカメラをお持ちのかたは、Warudoの初心者ナビからお勧めされる「MediaPipe (カメラ)」をモーションキャプチャーとして最初にお使いになるケースが多いため、今回はそのケースで遭遇する問題にクローズアップした記事というわけです。
  MediaPipe:Googleが開発した機械学習と画像処理の機能が搭載されたフレームワークで、Warudoにおいてはカメラによるモーションキャプチャーの標準的な選択肢としてこのMediaPipeを使った方法が位置づけられています。

筆者の環境(2024-10-11現在)

  • Windows10 Home 64bit 22H2

  • Warudo 0.12.12 Personal

問題事象の確認

 まずは問題事象を確認してみましょう。
 Warudoを初回起動、もしくは新しいシーンを作成してください。
 WarudoのEditorウィンドウに表示される「初心者ナビ」アセットの「基本設定」から「始める」ボタンを押して、キャラクターとして使用するVroidモデルを任意で選択します。
 ※アセット:Warudoの開発にも利用されているUnityというゲームエンジンにおける操作対象の単位です。WarudoではUnityのそれをいくつかまとめたようなものもアセットと呼んでいるので少し混乱するかもしれません。

WarudoのEditorウィンドウ。新しいシーンで最初に目に入る初心者ナビ。

 モデルを選択して「OK」ボタンを押したら、次のページでさらに「はい、お勧めしてください」を選択して「OK」ボタンを押します。

最初はよく分からないのでお勧めしてもらうかたが多いでしょう。

 次のページは「モーションキャプチャーの設定」です。
 ここで「全身トラッキングが必要ですか。」を「はい」にするとトラッキング機材の選択などがあります。
 が、カメラのみでトラッキングしてVTuber活動をしているかたは割と多いですし、「とりあえずWarudoのお試しでカメラのみ使う」というパターンも多いのではと思われます。
 その場合の設定は以下のようになります。
 ここで、「上半身のトラッキングが必要ですか。」も「いいえ」を選択していることに注目してください。

カメラのみでモーションキャプチャーする場合の設定イメージ。
上半身のトラッキングも不要(いいえ)としている。

 その結果、Warudoは必ず以下のように提案してくれます。

Warudoの初心者ナビがお勧めしてくれる「MediaPipe (カメラ)」によるフェイスのみのトラッキング設定。
しかしこれには落とし穴が…。

 この状態で最下部の「OK」ボタンを押し、さらにVroidモデルの表情インポート⇒表情のショートカット作成、さらに背景の設定などを経て、基本設定を完了させます。
 この状態で、選択したカメラに映る自分の頭を動かしてみましょう。すると…?

なぜか全身がグニャグニャ…。
注:カメラの前で左右に顔を向けたり首をひねったりしているだけです。

 頭の動きに合わせて体がその逆を向くような形でグニャグニャと動いてしまいます。
 Warudo以外のVroidモデルをキャプチャするVTube Studio、3tene、VSeeFaceなどのアプリケーションではこのようなことが起きないため、困惑してしまう初心者のかたは多そうです。

 それではこの問題の解決方法を見ていきましょう。

解決方法A(顔と頭だけ動かしたい場合)

 まずは「顔と頭だけトラッキングして動かしたい」というかた向けの解決方法です。
 アセットの設定を変更するだけで済むので簡単です。

1.WarudoのEditorウィンドウにて、基本設定をした後に追加されたアセット「MediaPipeトラッカー」を選択します。
2.「身体の移動幅」の値を0に、
 「Body Rotation Intensity」の値を0にします(またはそのすぐ上の「Body Rotation Type」で「なし」を選択でも構いません)。

3.さらに、同じく「MediaPipeトラッカー」にて、最下部のほうにある「Pendulum Physics」の「有効化」を「いいえ」に変更します。

 以上です。
 カメラに映る自分の頭を再び動かしてみましょう。

解決方法Aを実施後。体の動きが抑制された。

 顔と頭だけが動くようになりました。

解決方法B(顔のみ動かしたい場合)

 次は「顔はトラッキングしたいけど、頭は動かなくてもいいよ」というかた向けの解決方法です。
 これもアセットの設定を変更するだけで済みます。

1.まずは、先の解決方法Aを実施して体の動きを抑制してください。
2.次に、同じく「MediaPipeトラッカー」アセットにて、「ヘッドの回転度」をX、Y、Zいずれも0に設定します。

解決方法Aに加えて実施する解決方法B。

 以上です。ここまでお読みいただきありがとうございました。

解決方法Bを実施後。頭の動きも抑制された。


いいなと思ったら応援しよう!