1.

FloatingPawnMovementで上下移動を制限する方法

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

FloatingPawnMovementは、自由な移動を可能にするコンポーネントですが、デフォルトでは上下(Z軸)方向の移動も許可されています。

しかし、地面を移動する車両や、特定の高さを維持するドローンのような挙動を実現するために、Z軸の移動を制限したい場合があります。

本記事では、FloatingPawnMovementを使用しながら、上下方向の移動を制限する方法について詳しく解説します。

方法1: 入力制御によるZ軸移動の制限

一番簡単な方法は、プレイヤーの入力時にZ軸方向の移動をブロックすることです。

例えば、Add Movement Inputノードを使用して移動を処理する場合、Z成分を0に固定することで、上下移動を無効化できます。

1. ブループリントの「Event Tick」または「移動入力イベント」で、入力ベクトルのZ値を0に変更。

2. Set Actor Locationを使う場合は、現在のZ位置を保持。

3. Clamp(制限)関数を使って、特定の範囲内にZ位置を維持。

方法2: コンポーネントの制約を利用する

物理ベースの動作を活かしながら、Z軸を固定する方法もあります。

- Physics Constraint(物理コンストレイント)コンポーネントを追加し、Z軸の移動をロック。

- 「Lock Position Z」を有効にすることで、Z軸移動を完全に防ぐ。

- 回転制限も同時に適用することで、より安定した動作を実現可能。

方法3: カスタムブループリントによるZ軸制御

より柔軟な制御を行う場合、ブループリントでZ軸の位置を常に一定に保つ処理を実装できます。

1. Event Tickで、Pawnの現在位置を取得。

2. Z軸の値を初期位置と同じに設定。

3. Set Actor Locationを使い、Z軸を変更せずにX・Y軸のみ更新。

方法4: 地面とのコリジョンを利用する

もしオブジェクトが地面を移動する場合、コリジョン設定を調整することでZ軸移動を防ぐことが可能です。

- 「Collision Presets」を「Block All」に設定し、地面との衝突を有効化。

- 「Can Step Up On」を「No」にして、不要な段差移動を防止。

- 「Simulate Physics」を有効にすると、物理的な動作で高さを維持可能。

まとめ

FloatingPawnMovementでZ軸の移動を防ぐ方法には、いくつかのアプローチがあります。

- 入力制御でZ軸を0に固定する。

- Physics Constraintを利用してZ軸をロックする。

- ブループリントで常に一定の高さを維持する。

- コリジョン設定を変更して地面の影響を受けるようにする。

これらの方法を組み合わせることで、ゲームの仕様に応じた最適な移動制御が可能になります。

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
同階層のページはありません