Let's Enjoy Unreal Engine

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

UE4 シーケンサー上の物理演算をアニメーションベイクする

UE4シーケンサーでは様々なアクターを動かすことが可能ですが、そこで計算された物理演算をそのままシーケンサー上に録画される機能があることは意外と知られていません。

これを上手く使うと、物理演算の結果を完全にベイク(焼き付けてしまうこと)が可能で、例えば映像向けにカットを作りたい場合には毎回同じ結果を再生することができます。スタティックメッシュはもちろん、スケルタルメッシュでの物理演算もベイクできます!

今回はUE4.19.1を使っていますが、それ以前のシーケンスレコーダーという機能が搭載されているUE4のバージョンであれば基本的に同じことが可能なはずです。

物理演算を行うアクターを用意する

まず始めに物理演算を行うアクターを用意しておきます。今回は適当なキューブを用意し、"Simulate Physics"にチェックをつけておきます。

f:id:alwei:20180424222555p:plain


ここに"Radial Force Actor"を配置して、放射上に力を発生させるようにして、キューブをふっ飛ばします。"Impulse Strength"はかなり大きめに設定。

f:id:alwei:20180424222833p:plain

これでアクターの準備は完了しました。

シーケンサーを作成し、イベントを発生させる

ここでひとつレベルシーケンサーを作成し、イベントトラックを作成します。

f:id:alwei:20180424223050p:plain


イベントトラック内にキーをひとつ作成し、プロパティの"Event Name"をしっかりとつけておきます。

f:id:alwei:20180424223150p:plain


あとはレベルブループリント内に同様の名前の"カスタムイベント"を作成し、RadialForceAcotorのFire Impulseを呼び出すようにします。

ここで、ツールバー上で"プレイ"を"シミュレート"に切り替えてから再度"プレイ"を選択します。

f:id:alwei:20180424223441p:plain


この状態でシーケンサーの再生を開始します。

f:id:alwei:20180424223545p:plain

物理演算が動作していることが確認できました。

シーケンスレコーダーで録画する

メインメニューバーから"ウィンドウ"→"シーケンスレコーダー"を選択し、開きます。そしてアニメーションを録画したいアクターを全て選択し、"追加"のボタンを押すと、シーケンスレコーダー内にアクターが追加されます。

f:id:alwei:20180424223936p:plain


あとは"録画"ボタンを選択し、シーケンサーを再生します。再生が終わったら終了ボタンを押しましょう。

f:id:alwei:20180424224152p:plain


無事に終了すると録画されたシーケンサーが作成されています。スタティックメッシュの場合はシーケンサーのみですが、スケルタルメッシュの場合には別途アニメーションシーケンスも作成されます。

このシーケンサーを開き、再生すると…

f:id:alwei:20180424224348p:plain


全ての物理演算結果がベイクされたアニメーションが再生されます!ベイクされているので、何度やっても当然同じ結果になります!


動画で確認するとよりわかりやすいです。