6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

HoudiniAdvent Calendar 2021

Day 13

Mixamo to Cascadeur to Houdini(KineFX)モーション

Last updated at Posted at 2021-12-12

この記事はHoudiniアドベントカレンダー2021 13日目の記事です。

##はじめに
「作ったものを動かしたい!」
「簡単に動かしたい!」
「自分なりの動きも追加したい!」

そんな願いを叶えるべく、気になるツールのCascadeurをHoudiniで使ってみた記録です。
動く楽しさが伝わるといいなーと思います。

零号機ベースモデル提供:Gato_Cangrejo氏

##この記事で紹介する内容

  1. MixamoのモーションデータをCascadeurに取り込み加工
  • モーションをHoudiniに取り込みリターゲット
  • Rig attrib VOPで注視点や接地などの制御

###作業環境

  • Houdini indie 19.0.383
  • Redshift 3.0.59

###ツール類

###参考記事

※困ったときは公式ドキュメント。
 困ってなくても公式ドキュメント。

##MixamoのモーションデータをCascadeurに取り込み加工
###Mixamoからモーションダウンロード
定番のMixamo様から好みのモーションをCascadeurへ取り込みます。
FBX(スキンなし)なしでお好みのモーションを収集します。
スクリーンショット 2021-12-13 004942.jpg
今回は動きが大きくわかりやすいように、下記の5つのモーションを使いました。
スクリーンショット 2021-12-13 011439.jpg
モーションデータをダウンロードしたら準備完了です。

###Cascadeurへ取り込み

用意したモーションFBXをCascadeurで開きます。
new scene - Import Fbx/Dae - Animation
スクリーンショット 2021-12-13 012559_02.jpg

デフォルトの状態だと何も表示されていないので、左上のモード切替からジョイントモードに切り替えます。
スクリーンショット 2021-12-13 013039.jpg

必要ないフレームを削除しておきます。
範囲選択してカギマークのボタンをクリックするとキーフレームが追加(削除)されます。
スクリーンショット 2021-12-13 013456_02.jpg

次に新しいシーンを開き、追加するモーションを読み込みます。
モーションをコピーするためにコピーするジョイントとフレーム範囲を選択します。
Ctrl+Shift+C コピー元のポイントをコピー

別シーンを開かず同一シーン内でトラックに複数モーションを並べてコピペできる方法がある気がしますが、私は別シーンの方が見やすい気がして分けることにしました。
スクリーンショット 2021-12-13 013412_02.jpg

コピー先のシーンに戻り、コピー先のジョイントとフレーム範囲を選択します。
Ctrl+Shift+V コピー先にポイントをペースト
スクリーンショット 2021-12-13 013642_02.jpg

元のモーションとコピペしたモーションの間が断絶しているので範囲選択して補間ツールでつなぎます。
これを繰り返して複数モーションをつないだり、間に好きな動きを入れたりして調整します。
元のMixamoのFXBファイルは全フレームにキーが打ってあり、モーションを変更したい場合は特徴点となるフレームだけ残して削除し補間しても似た結果が再現されます。

スクリーンショット 2021-12-13 013749_02.jpg

好きなように調整したらFBX形式でモーションのみ保存します。
File - Export Fbx/Dae - Without Meshes
スクリーンショット 2021-12-13 013851_02.jpg

##モーションをHoudiniに取り込みリターゲット
ベースメッシュのスケルトンにモーションデータをリターゲットします。
KineFX登場後にずいぶん紹介されてるので、手順は軽く。

片側のみスケルトンを調整し、半分削除してミラーコピーします。
スクリーンショット 2021-12-13 022051.jpg
スクリーンショット 2021-12-13 022107.jpg
Cascadeurから書き出したFBXファイルをfbx anim importノードで読み込みrig stash poseのインプット左に接続。
スクリーンショット 2021-12-13 022544.jpg
fbx anim importノードをコピーし、OutputをRest poseに変えてからrig stash poseのインプット右に接続。
スクリーンショット 2021-12-13 023355.jpg
rig match poseノードでソーススケルトンのポーズを調整。
map pointsノードでポイントの対応を指定。
スクリーンショット 2021-12-13 022604.jpg

##Rig attrib VOPで注視点や接地などの制御
プラスアルファの部分で便利な制御を追加します。

###Look at
カメラなどでも使う、特定のオブジェクト方向を追従するようにするVOPを追加しました。
rigattribvop内にlookatノードを追加して設定しています。

###Collision
地面が凸凹していたり、傾斜していたりする際に足がめり込まないように追従します。
(うまくできていないですが)
スクリーンショット 2021-12-13 023934.jpg
Rig attrib VOPの第2、第3入力をVOPで参照するため、Compute transforms for inputのチェックを外しています。
スクリーンショット 2021-12-13 024029_02.jpg
接地対策はRig attrib VOPで指定する方法のほか、adapt to terrainノードを使う方法もあります。
スクリーンショット 2021-12-13 024207.jpg

##おわりに
単純にMixamoモーションをつなぐだけだと足の入れ替えや態勢、重心の移動など不自然な点が出てきます。
実際の動きをよく観察することが魅力的なモーションへの近道だと実感しました。

実はMocap for allを使ったモーションキャプチャとMotion clipなどにも触れたかったのですがそこまでいけませんでした。

  • Mocap for all
    カメラ2つとPCで全身モーションキャプチャが始められるモーションキャプチャアプリケーション
    https://vrlab.akiya-souken.co.jp

お手軽に始められて楽しいのでおすすめです!

Houdiniでよいクリスマスを!

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?