アルゴンUE4/UE5&アプリ開発日記

UE4/UE5の機能やプラグインを紹介します。初心者や中級者向けになってます!!

【UE4】コントロールリグを設定してみた!

コントロールリグを使ってみます!

今回はコントロールリグを使ってみたので、

そちらの使い方と個人的に躓いた場所を紹介できたらと思います。

下のサンプルを参考にしながらやってみました。

UE4の4.25を使用しています(^ω^)

※まだ試験的な運用となっています。

※間違った説明などをしていたらコメント欄に記載してください。

www.unrealengine.com

コントロールリグとは?

UE4のコントロールリグではUE4上でスケルタルメッシュから、

コントロールリグファイルを作成してリグの設定を行えます。

またプログラム言語のPythonにも対応していて、

パイプラインなども自動化できるそうです。

www.unrealengine.com

手順としては下記のような手順で行いました。

1.UE4に自身のキャラクター(スケルタルメッシュ)を取り込む。

f:id:yoshikata1990:20200913145509p:plain

キャラクターの読み込み

2.読み込んだキャラクターからコントロールリグファイルを作成する。

f:id:yoshikata1990:20200913150341p:plain

コントロールリグファイルの追加

3.コントロールリグ設定画面でリグ用のコントローラーやスペースを取り付ける。

f:id:yoshikata1990:20200913204837p:plain

コントローラーやスペースの設定

4.シーケンサーを用いたアニメーションの作成

f:id:yoshikata1990:20200913151745p:plain

シーケンサーからのアニメーション作成

上記の手順で今回は説明していこうと思います。

コントロールリグの準備

コントロールリグを使用する場合はまずプラグインを追加します。

プラグイン設定からcontrolで検索すると出てきます。

f:id:yoshikata1990:20200913163841p:plain

controlrigプラグイン

プラグインをONにしたらキャラクターをインポートして、

右クリックすると「コントロールリグを作成」を選択します。

f:id:yoshikata1990:20200913165540p:plain

コントロールリグの作成

コントロールリグのファイルを作成したらフォルダが作成されます。

f:id:yoshikata1990:20200913171508p:plain

コントロールリグフォルダ

キャラクターにリグを設定

ここからは実際にリグを設定していきます。

コントロールリグの画面を開くと下のような画面になります。

f:id:yoshikata1990:20200913173313p:plain

コントロールリグ画面

この画面を表示されたらキャラクターのボーンに合わせて、

リグ用のコントロールとスペースを取り付けていきます。

スペース→ 位置や角度を設置する位置(動かさない)

コントローラー→ボーンやIKなどに合わせて動かすもの

右クリックで追加できます。

f:id:yoshikata1990:20200913174722p:plain

スペースとコントローラーの追加

実際にコントローラーとスペースを配置していきます。

アイコンごとに意味合いが異なります。

赤いアイコン→スペース

青いアイコン→コントローラー

※ボーンの階層もありますが別々の階層で作ったほうが、

 見やすく設定しやすいので分けています。

f:id:yoshikata1990:20200913180548p:plain

IK用のスペース

スペースの設定が完了したらコントローラーをキャラクターの位置に合わせます。

今回は下の絵のように設定しています。

f:id:yoshikata1990:20200913184956p:plain

キャラクターのコントローラーの設置

コントロールリグのBP設定

コントロールリグ用のブループリントを設定します。

今回はボーンに対してコントローラーのTransformを合わせる設定をしています。

f:id:yoshikata1990:20200913185952p:plain

コントローラーのブループリント

BPでの注意点

Propagate to Childrenが初期値でOFFになっていますが、

これをTrueにしないとボーンの子の方に移動が適応されないので、

必ずチェックを入れてください。

また、SetTransformのSpaceがLocalSpaceになっていることがあるので、

必ずGlobalSpaceにセットしてください。

IK用のBP設定

IKを設定する場合はBasicIKを使用します。

BoneA→上腕・BoneB→前腕・Effctor Bone→手をそれぞれ設定して、

関節の位置を左手のコントロールに指定して、

極ベクトルの位置をBasicIK用に作ったコントロールに設定しています。

f:id:yoshikata1990:20200913193358p:plain

Basic IKの設定

BPでの注意点

IKの軸を設定するためのPrimary AxisとSecoundary Axisは、

キャラクターの上腕の軸と前腕の軸の位置を指定するものとなっているため、

正しく設定しないとメッシュが正しい動きをしてくれません。

今回私のキャラクターは上腕の軸のy位置を-1.0しています。

またBasic IKのPropagate to childrenがFalseになっているので、

そちらもONにして手の動きが追従するように設定してあげてください。

実際にすべてのコントローラーに割り当てると下記の絵のようになります。

f:id:yoshikata1990:20200913195626p:plain

コントロールリグのBP

コントロールリグの設定は以上になります。

シーケンスで動きをつける

リグを設定したら今度は自分の好きなようにアニメーションをつけます。

先ほど作成したコントロールリグをシーンに配置します。

配置するとキャラクタ―とシーケンスが表示されます。

f:id:yoshikata1990:20200913201233p:plain

コントロールリグのキャラとシーケンス

あとはコントロールリグで設定したコントローラーを動かして、

キーを打ち込むことでアニメーションの動きを作成できます。

一連の流れを動画にしてみました。

www.youtube.com

自分の思い通りのアニメーションが完成したら、

キー欄の一番上を右クリックしたメニューから、

アニメーションシーケンスまたはポーズアセットに出力できます。

f:id:yoshikata1990:20200913204022p:plain

アニメーションの出力

以上でシーケンスでの主な設定などになります。

実際に動かしたものが下のTwitterの投稿になります。