株式会社ヒストリアさん主催の第13回UE4ぷちコンの作業進捗(本日2つめ)
無料アセットのアニメーションを加工したい
UE4 マーケットプレイスで2018年11月に永久無料になったQuadruped Fantasy Creaturesにドラゴンが入っている。
このアセットは結構なクオリティで、しかもアニメーションもしっかりそろっている。
これを例の恐竜たちの敵として使いたい。
…ということで、
- いつもの恐竜を「地竜 (Saurus)」
- このドラゴンを「飛竜 (Dragon)」
と呼び分けることにする。
今回作っている作品は地竜が地面を走り回り、飛竜がそれを襲う(食べる!)ようにしたい。
ところが、このQuadruped Fantasy Creaturesに入っている噛みつきアニメーションは、噛みつく位置が高い。
…と、言葉で書くより、結果の GIF アニメを見た方が早い。
- 【右側】もともとの噛みつきアニメーション。
- 噛みつく位置が高くて、地竜に届かない。
- 動きが小さくて、ちょっと寂しい。
- 【左側】加工後のアニメーション。
- 体を低くして、前方に飛び出しながら噛みつくように加工した。
- 地面すれすれを狙うので、頭を横向きにねじる形に加工した。
- ついでに、いかにも悪のドラゴンっぽいマテリアルにした。
これ、UE4 エディタだけで意外とできちゃった。
しかも、予定外にええ感じにダイナミックな動きになってくれた!
やったこと
IK 用に Virtual Bone を追加
薄紫色の4つのボーンがそれである。名前の通り、IK 用に4足分用意した。
これらの Virtual Bone の親は、もともとのルートにしておいた。
アニメーションアセットのコピー
ただ単に、オリジナルを壊してしまったら後が面倒くさいので、コピー作ってそれをいじった、ということ。
Anim Graph で IK を作成
Details Panel に載っている細かいパラメータは割愛(すみません。長くなるので)
大雑把には、
- Copy Bone: IK ボーンに、対応するボーンの Transform をコピーしておく。
- Transform (Modify) Bone: pelvis ボーンを低く、前方にずらす。
- Leg IK: 四肢に対して IK を実行。(アルファについては後述)
これで、四肢の位置は固定したまま、体全体が低く前に伸びる。
Anim Curve で Transform (Modify) Bone に渡すアルファを作成
IKAlpha と命名。これが上記 Anim Graph の Transform (Modify) Bone のアルファの値となる。
3つのキーがあるが、
- 1つ目: IKAlpha=0 pelvis がオリジナルのアニメーションの位置となる。
- 2つ目: IKAlpha=1 pelvis が低く前方に伸びた位置になる。
- 3つ目: IKAlpha=0 pelvis がオリジナルのアニメーションの位置に戻る。
これで、噛みつくときだけ低く前方に伸びるような動きになる。
Additive Layer Track で各ボーンのアニメーションを加工する
これはひたすら勘…としか言いようがない。
とにかく、ひたすらええ感じになるまで頑張る。(カーブの形よりはタイミングが大事!)
DCCツールでのアニメーション編集の経験がないと苦しいかもしれない…
MMD 経験者ならいけるかも? (注:私は MMD ユーザーではありません)
Anim Blueprint で録画して、新しいアニメーションアセットとしてベイクする
右下の録画ボタンで新しいアニメーションアセットとしてベイクしてくれる。
ただし、録画を停止するまで、ただ漠然とデータを作り続けるので注意。
最終的には、できたアセットから必要な部分だけを切り残す必要がある。
1 ループだけ録画する、みたいな機能を追加してほしい。
今日はここまで。