株式会社ヒストリアさん主催の第15回UE4ぷちコンの作業進捗。
Control Rigの続き④。
イマココ
【参考URL】UE4.26で追加されたControlRigの反転機能(Inversion)の使いかたについて - ぼっちプログラマのメモ
反転機能(Inversion)を最初「左右反転機能」かと思ってました。
実際は、ボーンのアニメーションをControl Rigのアニメーションに変換するもの。
ある意味、Conversionと捉えてもよいかと。
上記参考URLに従って、既存のアニメーションシーケンスをControl Rigのアニメーションにベイクして、お好みな動きに編集するところまでやった。
右のマネキン男子の走りアニメーションを、左のマネキン女子にベイクして、Control Rigでエディットして女子っぽい動きに変更。
ちょっと動きが左側に偏っていることと、ちょっと腰振りすぎたことが気になっているが、正直、大変面倒くさかったので、もう弄る気はない。
少なくとも、あまり動作確認をできないまま、不安に思いながら組んでいた Backward Solve
の動作確認はできた。
やったこと
おおむね上記のおかずさんのページに載っていることそのまんまです。
おかずさん、いつもありがとう!な気持ちでいっぱいです。
手順
1)Sequencerにスケルタルメッシュを投入する(今回はマネキン女子 SK_Mannequin_Female)
2)そのマネキン女子のアニメーショントラックに、アニメーションを追加する。
アニメーションを追加するには、Animationトラックの横の「+」ボタンを押す。
もし、Animationトラックがないなら、SK_Mannequin_Female の横の「+」ボタンを押す。
3)【ハマりポイント】ここでアニメーション再生をやってみて「あれ?動かないじゃん!」と思って焦る。
アニメーションが動かないのは、すでにControl Rigのトラックが存在するのが原因。おそらく、アニメーションの計算後、Control Rigの計算をやるのだろう。
つまり、アニメーションが何であれ、Control Rigのポーズになるということ。
4)なので、Control Rigのトラックを消す。これで、正しく再生できるはず。
5)あとは、おかずさんのページの通りに、SK_Mannequin_Female のトラックを右クリックして「Bake To Control Rig」を実行。
そうすると、Animationトラックがグレイアウトされ、キーが打たれたControl Rigのトラックが追加される。
(何なら、Animationトラックを消してしまっても大丈夫)
6)Control Rigを使ってアニメーションを編集する。今回は自分なりに女子っぽくしてみた。
超ハマった(後述)
7)SK_Mannequin_Female の右クリックから「Bake Animation Sequence」を実行すると、アニメーションシーケンスアセットが生成できる。
Sequencer でのアニメーション編集でハマった集
- ベイク機能は便利だが、大量のアニメーションキーが打たれてて、途方に暮れる。
- Bake To Control Rig 機能で「Tolerance (許容誤差)」が指定できるが、この値を調整するのも手間。
- なぜなら、このTolerance値では、spine のカーブにはちょうどいいキーの数になるが、foot にとっては妙に多すぎる、みたいな現象が起きるから。
- 「帯に短し、たすきに長し」
- ひたすら、消しても構わないキーを消して回る作業が発生。
- これはもう仕方がない。DCC ツールでもそんなもん。(事実上、根性が必要)
- Bake To Control Rig 機能で「Tolerance (許容誤差)」が指定できるが、この値を調整するのも手間。
- 足のIKのリグをいわゆる Reverse Foot の形で組んだが、それをええ感じに汲み取ってベイクしてくれるわけではない。
- 大雑把にいえば、足のTranslationとRotationを別のリグに分けて担当させていたのだが、ベイク側はそんなことは知らないので、片方のリグにひたすらTranslationとRotationの両方が焼き込まれた。
- これをひたすら組み替えるのがものすごく骨だった。
- 似た感じで、ボーンでいうpelvisとspine_01を、リグではpelvisとspineとcenterの3つに分けていたが、pelvisリグとcenterリグに似て非なるキーが打たれるという憂き目にあった。
- 【自分TODO】Backward Solve をええ感じに組めば、なんとかなるかもしれない。
- ループアニメーション特有の「0フレーム目のポーズと、最終フレームのポーズを合わせる」作業がしんどい
- しばらく試行錯誤した後、Sequencerのあのキーのリストが、DCCツールの「Dope Sheet」に見えてきてからは、楽になった。(ただ単にSequencerに慣れてないだけか…)
- カーブを編集して、Ctrl+ZでUNDOすると選択が外れてしまいカーブが消える(見えなくなるだけ)。カーブを選択しなおすのが手間。(あと、正しくUNDOできたがどうかが不安になる)
- 右足の数値と左足の数値を見比べながら作業したいが、どうしたらいいのだろう?
- ひとまず、スクショと手書きメモで対応。
【感想】
- ベイク結果はいっそ参考値として、1から手で組んだ方が早い説
- 1から手で組むと、気は楽だが、実は膨大な時間がかかる説
…悩ましい。
「Sequencer のアニメーション編集機能が使えない」という意味ではない。
使いやすさでは DCC ツールに劣るかもしれないが、ちゃんと実用には耐える。
少なくとも、このためだけに DCC ツールを買うかどうかとか迷うほどではない。
UE4と根性さえあれば、有料・無料で入手したアニメーションを、自分好みの/状況に即したものにカスタマイズできるのは間違いない。