メインコンテンツまでスキップ

Warudo ハンドアニメーションブレンド

Dollars SAYA は、手の可視状態に応じて、Warudo 内のモーションキャプチャとプリセットアニメーションを自動的に切り替えることができます。

注意

本記事でご紹介しているのは実装方法の一例です。より良い方法をご存知でしたら、ぜひお気軽にお問い合わせいただけますと幸いです。

前提条件

  • Dollars SAYA が VMC プロトコルで Warudo に接続されていること

1. カスタムノードスクリプトのダウンロード

Dollars MoCap ウェブサイトから DollarsMoCapHandFallbackNode.cs をダウンロードし、Warudo の Playground フォルダに配置してください。

<Warudoインストールディレクトリ>/Warudo_Data/StreamingAssets/Playground/DollarsMoCapHandFallbackNode.cs
Playground フォルダの場所

Warudo で Menu → Open Data Folder をクリックすると、開いたディレクトリ内に Playground フォルダがあります。

Warudo が自動的にスクリプトをコンパイルして読み込みます。コンパイルが成功すると、ブループリントのノードリストの DollarsMoCap カテゴリ内にノードが表示されます。

2. VMC トラッキングブループリントの修正

Warudo で VMC の Pose Tracking ブループリントを開き、Switch Float ListOverride Character Bone Rotations の2つのノードを見つけます。

まず、Output Float ListBone Rotation Weights の間の接続を切断します。

次に、両者の間に DollarsMoCap Hand Fallback ノードを挿入し、下図のように接続します。

接続完了後のデータフローは以下の通りです。

ポート接続元
DollarsMoCap Hand Fallback → Input ListSwitch Float List → Output Float List
DollarsMoCap Hand Fallback → Blend Shape ListGet VMC Receiver Data → BlendShape List
Override Character Bone Rotations → Bone Rotation WeightsDollarsMoCap Hand Fallback → Output List

Smooth Time の調整

DollarsMoCap Hand Fallback ノードには Smooth Time スライダー(デフォルト 0.2)があり、モーションキャプチャとプリセットアニメーション間の遷移の滑らかさを制御します。

ヒント

  • 手をリラックスしているときは、カメラのフレーム外にあることを確認してください。画面の端で手が映ったり消えたりすると、キャラクターの手がモーションキャプチャとプリセットアニメーションの中間状態のままになってしまいます。
  • 手が低い位置にあるプリセットアニメーションを選ぶことをおすすめします。モーションキャプチャ中、手は通常画面の下から消えるため、より自然な遷移になります。