Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 コントロールリグシーケンスを使ってアニメーションを作ってみる

UE4.16 Preview 1の配信が開始されて、またまた色々と新しい機能が追加されました。

今回はその中でも特に目玉機能のひとつでもある、コントールリグシーケンス機能を使ってキャラクターアニメーションを作ってみたいと思います。

UE4.16 Previewについては以下のフォーラムのスレッドに概要が載っています。

Unreal Engine 4.16 Preview

それでは早速使い方を解説していきます。

コントロールリグプラグインを有効化する

まずはこの機能を使うためにメニューから、ツールバーから"設定"→"Plugins"を開いて、"Animation"カテゴリー内の"Control Rig"プラグイン有効化します。


f:id:alwei:20170501224425p:plain
プラグイン有効化後は再起動が必要となるので、"Restart Now"からエディターを一度再起動してください。


f:id:alwei:20170501224707p:plain
再起動後にモードパネルの一番右に人型のアイコンが追加されていれば無事利用可能となります。

コントロールリグシーケンスの準備をする

まずはコントロールリグシーケンスを作成するための準備をします。

最初にUE4標準のHumanoidRigが設定されているモデルを用意しておきます。Epic Gamesではこれを通称Epic Skeletonと呼んでおり、マーケットプレイスガイドラインにも細かく書かれていますので、そちらを参照してください。

Seller Profile

元々サードパーソンテンプレート等で用意されている"SK_Mannequin"はこれに準じているので、そのまま利用可能です。

それでは用意したスケルタルメッシュを配置しておきます。

配置後はモードパネルの"Animation"内の"Sequence"の"なし"となっている部分を選択し、"ControlRig Sequence"の新規作成を選び、名前をつけて保存します。


f:id:alwei:20170501225845p:plain
その後に"Actor"を選択します。スポイトアイコンからActorを設定します。


f:id:alwei:20170501230130p:plain
これでコントロールリグシーケンスの準備ができて、シーケンサーのウィンドウが自動的に開いていればOKです。

シーケンサー上でアニメーションのキーを打ち込んでいく

シーケンサー上の"+追加"ボタンから"BaseHuman"を選択し、トラックに追加します。


f:id:alwei:20170501230452p:plain
これでコントールリグがビューポート上に表示されればOKです。


f:id:alwei:20170501230535p:plain
次にキーを作成する方式を選択しておきます。自動キー設定をしていればコントールリグを動かすだけでキーが作成されるのでとても便利です。ただし、編集後も自動的にキーが変更されるので注意が必要です。自動キーは以下のように設定します。


f:id:alwei:20170501230853p:plain
これでキーを作成するための準備も完了しました。あとはコントロールリグを実際に動かしてみましょう。動かす際にはビューポート右上のスナップ機能を切っておいた方がスムーズに動かせますので、編集中はスナップを切っておきましょう。


f:id:alwei:20170501232104p:plain
ビューポート上で球と箱のコントールリグが存在しており、球はIK(インバースキネマティクス)用で、箱はFK(フォワードキネマティクス)用のコントローラーになっています。色は左側が青で右側が赤となります。

IKとFKの切り替えは左のモードパネル上で必要な部位のIK、もしくはFKのボタンをクリックするとそれぞれがトグルして切り替わります。あとはコントローラーを動かしてうまくポーズをつけてみましょう。

注意点として、IKはフルボディ系のIKではないので、あくまでも影響はその部位に対してのみで、身体全体の動きはつけるのが難しいです。この辺りは今後の改善に期待。

キーが打てていることが確認できたら、シーケンサーのシークバーを動かして時間を進めてから再度コントローラーを動かしてみましょう。


f:id:alwei:20170501233320p:plain
キーが打たれているので、シークバーを動かすとアニメーションしていることが確認できます。もちろん一度動かしたものでないと最初のフレームのキーが打たれていないので注意してください。

実際に作ったものをシーケンサーで動かしてみましょう。


f:id:alwei:20170501234535g:plain
無事アニメーションができていることが確認できました。

アニメーションシーケンスとして書き出す

最後に作ったアニメーションをアニメーションシーケンスとして書き出してみましょう。


f:id:alwei:20170501234804p:plain
シーケンサーの上記アイコンをクリックすると保存用のダイアログが開きます。


f:id:alwei:20170501234858p:plain
スケルタルメッシュを選択し、新規アニメーションシーケンスとして名前をつけて保存します。あとは必要の変更がなければ"Convert"ボタンを押して変換します。


f:id:alwei:20170501235120p:plain
これでアニメーションシーケンスのアセットとして保存できていれば、開くことができるはずです。問題なければアニメーションされているはず。

無事コントロールリグシーケンスからアニメーションを書き出すことができました!

まだできないこと

現状、BaseHuman以外のコントロールリグはまだうまく動かないようで、これからアップデートで上手く動くようになるはずです。

また指のコントロールリグがないので指に動きをつけたい場合には使えません。現状リグの追加も当然できません。

この場合はアニメーションシーケンスとして書き出してから、加算レイヤートラックでボーンに動きをつけるなどすれば、動きをつけられなくもないです。

しかし現状でも十分にアニメーションはつけられるので、Mayaなどの高価なツールを持っていない方でも十分にアニメーションを作成することが可能です。

どんどん使っていきましょう!!