レベル上に置いてあるアクターに対して力を発生させて、モノを吹っ飛ばしたいという事は結構あると思いますが、UE4でそれを行なうのにはどうしたらいいのでしょうか。
実はそのために用意されたアクターとコンポーネントがあります。
"Radial Force"アクターと"Radial Force"コンポーネントです。どちらも使い方は同じですが、アクターはレベル上に直接配置し、コンポーネントはブループリントの中に仕込む事が可能です。
では試しにやってみましょう。
Radial Forceアクターを配置する
今回はRadial Forceアクターを配置してみます。
中心部に配置し、その周りには可動性をムーバブルに変更したスタティックメッシュのボックスを配置します。更にもう1つチェックしておかないといけないのが、アクターの情報の"Physics"の中にある、"Simulate Physics"のチェックボックスをオンにしておく事です。
Simulate Physicsのチェックをオンにすると可動性も自動的にムーバブルになるので、こっちだけの設定でもOKです。さて、これで準備が整いました。
Radial Forceを発生させる
あとはレベルブループリント等でRadial Forceをいつ発生させるか設定するだけです。
Pキーを押下した時に"Fire Impulse"で衝撃波を発生させます。ただし、このまま発生しても何も起きないと思います。
衝撃の強さを設定する
Radial Forceの衝撃の強さを設定してあげる必要があります。"Impulse Strength"という部分です。この値は少し大きくした程度ではほとんど力がありませんので、かなり大きめの値を設定する必要があるので、必ず目視しながら強さを確認しましょう。
あとはRadiusで発生半径の調整を行ないます。
では最後に確認しましょう。
勢いよく吹っ飛びました!
物理シミュレーションを使っての動きになるので、動きは必ず目視しながらどの程度吹っ飛ぶのか確認しながらやっていきましょう。