UE4のシーケンサーでは様々なアクターを動かすことが可能ですが、そこで計算された物理演算をそのままシーケンサー上に録画される機能があることは意外と知られていません。
これを上手く使うと、物理演算の結果を完全にベイク(焼き付けてしまうこと)が可能で、例えば映像向けにカットを作りたい場合には毎回同じ結果を再生することができます。スタティックメッシュはもちろん、スケルタルメッシュでの物理演算もベイクできます!
今回はUE4.19.1を使っていますが、それ以前のシーケンスレコーダーという機能が搭載されているUE4のバージョンであれば基本的に同じことが可能なはずです。
物理演算を行うアクターを用意する
まず始めに物理演算を行うアクターを用意しておきます。今回は適当なキューブを用意し、"Simulate Physics"にチェックをつけておきます。
ここに"Radial Force Actor"を配置して、放射上に力を発生させるようにして、キューブをふっ飛ばします。"Impulse Strength"はかなり大きめに設定。
これでアクターの準備は完了しました。
シーケンサーを作成し、イベントを発生させる
ここでひとつレベルシーケンサーを作成し、イベントトラックを作成します。
イベントトラック内にキーをひとつ作成し、プロパティの"Event Name"をしっかりとつけておきます。
あとはレベルブループリント内に同様の名前の"カスタムイベント"を作成し、RadialForceAcotorのFire Impulseを呼び出すようにします。
ここで、ツールバー上で"プレイ"を"シミュレート"に切り替えてから再度"プレイ"を選択します。
この状態でシーケンサーの再生を開始します。
物理演算が動作していることが確認できました。
シーケンスレコーダーで録画する
メインメニューバーから"ウィンドウ"→"シーケンスレコーダー"を選択し、開きます。そしてアニメーションを録画したいアクターを全て選択し、"追加"のボタンを押すと、シーケンスレコーダー内にアクターが追加されます。
あとは"録画"ボタンを選択し、シーケンサーを再生します。再生が終わったら終了ボタンを押しましょう。
無事に終了すると録画されたシーケンサーが作成されています。スタティックメッシュの場合はシーケンサーのみですが、スケルタルメッシュの場合には別途アニメーションシーケンスも作成されます。
このシーケンサーを開き、再生すると…
全ての物理演算結果がベイクされたアニメーションが再生されます!ベイクされているので、何度やっても当然同じ結果になります!
動画で確認するとよりわかりやすいです。
UE4のシーケンサー上で再生した物理演算をアニメーションベイクして、同じ動きを再現させるやり方。#UE4Study #UE4Tips pic.twitter.com/Qrf80JVEv3
— alwei (@aizen76) 2018年4月24日