HOME

[ポートフォリオ] キャプチャモーションのリターゲットパイプライン

キャプチャしたモーションデータをHoudiniを介して実用データにコンバートするために考えた一例

リターゲットについて

体型や骨構造の異なるキャラクターに同じモーションデータを適用しようとすると関節が伸びたりなどの破綻が発生する。

体形の異なるモーションを適用し、破綻したキャラクター

この問題に対し、キャラクターに合わせたモーションにコンバートするリターゲットパイプラインを用途が多そうなモーションキャプチャのデータを参照し、構築してみる。

用途の想定

ゲーム開発においてキャプチャモーションをリターゲットできるパイプラインを準備することで

  • 体形ごとにモーションキャプチャを行う個数の削減(完全に無くせるかはプロジェクト次第かなとも思う)
  • キャプチャモーションをベースに個別のキャラクターモーションを作成する際に工数の削減

などに役立てることができるかと思う。
そのうえで、Houdiniでリターゲットを行うことで

  • キャプチャデータ以外にも利用可能な汎用的なリターゲットフロー
  • 開発途中でキャラクター追加仕様追加、や汎用モーションなどが追加された場合に柔軟な対応
  • 一括でのコンバートパイプライン構築やエラーモーションを探すためのデータ解析
  • パイプラインに補正処理を追加しやすい環境

なども期待できると思う。
特に多くの企業ではモーションキャプチャを行う工数は高いので仕様追加に柔軟に対応できるのは大きいのかなと思う。

骨格の異なるモデルに共通のキャプチャモーションをリターゲット(キャプチャモーションのソースはBandai-Namco-Research-Motiondatasetより)

機能について

必要なデータとコンバート結果

入力するデータ

  • リターゲット先のキャラクター
  • リターゲット元のモーション
  • リターゲット元のデフォルトポーズ

調整が必要なデータ

  • ジョイント名の紐づけ情報
  • (必要であれば)リターゲット先のキャラクターをリターゲットソースのデフォルトポーズに合わせたポーズ
ジョイントの紐づけ情報(データ次第だがスクリプトによる自動化も可能)
キャプチャモーションのデフォルトポーズとキャラクターのデフォルトポーズが異なる場合はキャプチャモーションにキャラクターをおおまかに合わせる対応が必要

出力データ

リターゲットしたモーション
UnrealEngineなどの別ツールで利用可能な状態にすることもできた

余談
元が4足のモデルでも一応できました

2足を許容するモデルではなかったため、メッシュが破綻しているが一応4足に対して2足をリターゲットできた
元モデル

参照させていただいたリソース

fish_ball

プロシージャル魚類