特定方向に力(引力)を加えるノード

※開発中のゲーム内容のネタバレが大いに含まれます
※個人用備忘録&素人による記事の為、間違いがある可能性があります


どれも「力を加えるノード」であるがEventTickに繋ぐことで引力のような使い方も出来る。ただし「持続的な力」と「瞬間的な力」それぞれに向いているノードがあるらしいので使い分けた方がいいぽい。


参考


ターゲットによる使い分け

使える対象が決まっているので、それにより使い分ける
Actorを対象にしてるのが無いのでPrimitive Componentをターゲットにするしかないかな?

Characterに対して使いたい場合
Add Force
Add Impulse

Pawnに対して使いたい場合
Add Input Vector

Primitive Componentに対して使いたい場合
Set Physics Linear Velocity
Add Force
Add Impulse


Set Physics Linear Velocity

Target is Primitive Component
現在ターゲットに働いてる物理的な力を一切無視して
強制的に新たな1方向への速度を与えます
つまり「前方に動いる物体が急に右に動く」という動きが可能です。

SimulatPhysics をオン
Enable Gravity をオフ(変わんないけど一応)

こんな感じで組む

Direction変数内は任意の方向を入力


参考


Add Force

Target is Character Movement Component
となっているが、PrimitiveComponentでも動く
引力のような持続的な力に使う
現在ターゲットに働いてる物理力は考慮するので、自然な動きになる

こんな感じで使う、質量を設定してない状態だと結構大きい値じゃないと動かない。

参考


Add input Vector

Target is Pawn Movement Component
PrimitiveComponentなどでは動かない
惑星重力のチュートリアルで使われていた。
動きながら、尚且つ引力を与えたい時に使うノードなのかも

参考


Add Impulse

Target is Character Movement Component
となっているがPrimitiveComponentでも動く
これは瞬間的な力を加えたい時のノードらしい
現在ターゲットに働いてる物理力は考慮するので、自然な動きになる

Tickでも使えるが、AddForceと同じ値を入れると動きが大きくなる
瞬間的な使い方がいいのだろう。

参考

この記事が気に入ったらサポートをしてみませんか?