BLOGブログ

2017.11.12UE4UE/ Blueprint

[UE4] Physics系コンポーネントのパラメータ調整リファレンス

こんにちは!新米えんじにゃーの遠藤です!

UE4で物理を使った挙動を作る際に便利なのがPhysics系コンポーネントです。コンポーネント1つで物理の面倒な計算をしなくても目的に近い挙動を作れて、公式のドキュメントも豊富です。

https://docs.unrealengine.com/latest/JPN/Engine/Components/Physics/index.html

ですが挙動を作ったはいいものの、目的の挙動するために力の強弱や力の制限値などのコンポーネントのパラメータ調整が必須で、且つ少し値を変えたら挙動が全然変わってしまったり実行してみないとわからない部分が多かったりと調整部分に時間がかかりがちです。

今回はその調整部分を少しでも短縮できるようにPhysics系コンポーネントのパラメータについて書きたいと思います。


RadialForce

RadialForce コンポーネントは物理オブジェクトに単発的な衝撃(Impulse)を与えて、オブジェクトを飛ばしたりすることができます。

衝撃効果範囲内に物理オブジェクトが入った場合も衝撃(Force)を与えます。

カテゴリ名 パラメータ名 説明
Radial Force Component Radius 効果範囲の半径。
Falloff RIF Constant、RIF Linearどちらかを指定できます。

Constantの場合、範囲内すべてに同じ衝撃を与えます。

Linearの場合、範囲の中心から遠ざかるほど直線的に衝撃が弱くなります。

Object Types to Affect 衝撃を与えるオブジェクトのタイプ。
Impulse Impulse Strength 衝撃(Impulse)の強さ。

オブジェクトがどれくらい飛ぶかは他のパラメータや衝撃を与えるオブジェクトの質量などによるのですが、質量100のオブジェクトに対してStrength10000で少し揺れる程度です。

Impulse Vel Change 有効の場合、衝撃は物体の質量を無視して常に一定の速度変化をもたらします。
Ignore Owning Actor 有効の場合、このコンポーネントが付いているアクターの物理オブジェクトに対しては衝撃を与えません。
Force Force Strength 衝撃(Force)の強さ。
Destructible Destructible Damage Destructible Meshに与えるダメージ量。

 

Physics Thruster

コンポーネントのX方向に推進力を与え続けます。ロケットを作る時などに使われます。

カテゴリ名 パラメータ名 説明
Physics Thrust Strength 推進力の強さ。

目安として質量100のオブジェクトにThrust Strength100000でゆっくり浮き上がる程度です。

Physics Constraint

Physics Constraint コンポーネントはジョイントを作成することができ、2つのメッシュを接続させることができます。ぶら下がるタイプのオブジェクトを作成する時に使われます。

パラメータが多く、公式ドキュメントに分かりやすくまとめてあるので割愛。

https://docs.unrealengine.com/latest/JPN/Engine/Physics/Constraints/ConstraintsReference/index.html

 

Physics Handle

物理オブジェクトを掴んだり離したりできます。

画像のノードで掴むコンポーネントの登録 / 解除を行えます。

カテゴリ名 パラメータ名 説明
Physics Handle Soft Angular Constraint  有効の場合、回転が制限されます。
Soft Linear Constraint  有効の場合、平行移動が制限されます。

壁などを突き抜けなくなります。

Interpolate Target  補間速度の適応の有効 / 無効。
Linear Dumping  平行移動に対する抵抗値。
Linear Stiffness  目標座標に戻ろうとする強さ。
Angular Dumping  回転に対する抵抗値。
Angular Stiffness  目標角度に戻ろうとする強さ。
Interpolate Speed  補間速度。

冒頭でも書きましたが物理系の調整は難しく、他のパラメータにも干渉しやすいので時間はかかると思いますので少しでも参考になれば幸いです!