株式会社ヒストリアさん主催の第15回UE4ぷちコンの作業進捗。
Control Rigの続き⑤。
イマココ
Control Rigをランタイムで使う実験をしていた。
以前の私の記事(「IKで地面の傾きに合わせる」のその1、その2)と同じことを、Control Rigを使ってやってみた。
今回やったこと:
割と苦労はしたのだが、ええ感じにできたとは思う。
Anim Blueprint の Control Rig ノードを利用した。
- Control Rig 側に Instance Editable (編集可能)な変数を用意すると、Anim Blueprint 側の
Control Rigノード
にパラメータとして出せるようになる。- 上の画像の
Floor Location
とFloor Normal
がそれ。 - 詳細パネルで ON にする必要はある。
- 上の画像の
Control Rig 側
前回までに作ってきたControl Rigは、まったく使い物になりませんでした!
ひとまずの結論:
前回までに作ってきたControl Rig(↑)は、完全にポーズやアニメーションの編集専用。
もちろん Sequencer 上ではちゃんと動く。
- Anim Blueprint の Control Rig の詳細パネルには、「どのControl Rigを使うか」を設定する箇所がある。ここに前回までに作ってきた Control Rig を設定してみた。
- だが、
Sourceピン
にどんなアニメーションを挿しても、Aポーズ(Reference Pose)のまま動かず、超焦る。- まだベータ版だからな! 実装されてないんだな! …と思って一度スルーした。
- ところが、Preview 画面を見ると、微妙にふるふるしていることに気づいた。
- 実は、なんか動いている気がする!
Anim Blueprint 用の Control Rig のしくみ
「Anim Graph の Control Rigノード
は、Rig Graph に組んだ Backward Solve
を呼び出して、Sourceピン
に挿した現在のアニメーションのポーズに合わせて、リグコントロールの Transform を設定してくれる説」
…これは間違い&勘違いでした!
正しくは、
「Sourceピン
に挿したアニメーションの現在のポーズは、Rig Graph側に渡った時点で、各ボーンのTransformとして既に設定されている」
…が、正解。
より具体的には、アニメーションがControl Rigに渡ってはいるものの、Anim BPからRig Control/Space を動かす方法がないため、Aポーズ(Reference Pose)の位置にあるControl Rigを使ってポーズが算出されている、ということだと思う。
なので、
Get Transform
で現在のボーンのTransformを取得し、Set Transform
で自分の作ったリグコントロール(もしくはスペース)にTransformを設定しながら計算を行う。
…という方針で、Rig Graphを作る必要がある。
(つまり、Sequencer でのポーズ・アニメ編集用の Rig Graph とは別物になる)
イメージは、今までの Anim Graph のものに近い:
上の画像は、
-
Transform (Modify) Bone
でik_foot_l
ボーンに何らかの値を入れる -
Leg IK
でIKを行う(Leg IK
の詳細パネルには、ik_foot_l
を使ってthigh_l
,calf_l
,foot_l
を動かすように設定する)
これと似た考えのものをRig Graphに組めばよいようだ。
将来、Anim Blueprintの
Control Rigノード
から、Backward Solve
を呼び出してくれるようになるのだろうか?
「毎フレームBackward Solve
を呼び出すような処理は重い」「手動で必要なボーンのTransformを取得しなさい」がEpicの考えなのではないか、と個人的には思う。
おまけ① ポーズ/アニメエディット用のControl Rigは、実質使わないのか?
勉強にはなったが無駄足なのか?
…と思ったら早速使うことになった。
元のアニメーションの足が微妙に地面から浮いていたので、編集用のControl RigとSequencerを使って、足を地面の高さに合わせて、ベイクして使っている。
…というわけで、プログラマが素材を修正するのに重宝するので、ポーズ/アニメエディット用のControl Rigは用意しておいて損はない。
(MarketplaceのControl Rig Mannequinに入っているものをそのまま使う、で十分。自前で作る必要はない)
おまけ②
今回は Marketplace のアニメーションアセットFemale Movement Animset Proを使用した。
この作者のKuboldさんのアニメーションは、クオリティが高い上に使いやすいようにも作られていてオススメ。(その分、高いのだが…)
このKuboldさんがFemale Movement Animset Proを、いつものマネキン男子にリターゲットする方法を分かりやすく解説してくれている動画がある。これに従えば、とてもきれいにリターゲットできるので、興味のある方は一度見てみてください。(注:英語)
Female Movement Animset Proのページの「Retargeting Tutorial」のリンクをクリックしたら見られます(Youtube)。