|
執筆バージョン: Unreal Engine 5.6
|
こんにちは!今回は上に乗ると特殊なギミックが発動する床を手軽に作っていきたいと思います!
目次
- 前準備(床用Blueprintの作成)
- 加速する床
- ジャンプ不可の減速床
- 滑る床
- トランポリンのように跳ねる床
前準備
※今回はサードパーソンのテンプレートを使用します。

床用ブループリントの作成
1.任意の場所に親クラスを[アクタ]に設定したブループリントクラスを作成します。
- 今回は「BP_MagicalFloor」と命名します。

2.床を作成します。
- コンポーネントの[追加]を押して[Plate]を選択して床の見た目を作成します。

- コンポーネントの[追加]を押して[Box Collision]を選択して当たり判定を作成します。

これで床のブループリントが完成しました。
加速する床の作成
それでは手始めに乗っているときのみプレイヤーの移動速度が速くなる床を作ってみましょう!
1.[BP_MagicalFloor]内の[EventGraph]を選択します。

2.先ほど作成した当たり判定[Box]を右クリックしてイベントを追加します。
- イベントを追加から[OnComponentBeginOverlapを追加]と[OnComponentEndOverlapを追加]を選択します。
- OnComponentBeginOverlap … 当たり判定に、別のアクター(プレイヤー)が接触した際に発動するイベント
- OnComponentEndOverlap … 当たり判定に、別のアクター(プレイヤー)が離れた際に発動するイベント

3.[EventGraph]を選択してブループリントを以下のように組んでいきます。

簡潔に説明すると、床に触れている間は歩く速度を速くし、床から離れると元の速度に戻るようにしています。
-
- [OnComponentBeginOverlap] から[Cast To BP_ThirdPersonCharacter]に接続すると「当たり判定に触れたのがプレイヤーなら処理する」という処理になります。

-
- [Cast To BP_ThirdPersonCharacter]から[Max Walk Speed]に接続すると「プレイヤーの移動速度を指定した値に変更」という処理になります。
- [Cast To BP_ThirdPersonCharacter]の[As BP Third Person Character]を[Max Walk Speed]のターゲットに接続して対象者をプレイヤーになるようにしましょう。

-
- [OnComponentEndOverlap]にも同様の処理を入れて、当たり判定から離れた際に元の速度に戻るように[Max Walk Speed]を調整します。

4.完成!
完成したので実際に見てみましょう!
おめでとうございます!加速する床が完成しました!
この後も[OnComponentBeginOverlap]と[OnComponentEndOverlap]を使ってお手軽に作れる特殊ギミック床を紹介していきます!
ジャンプ不可の減速床の作成
沼地を実装する際に使えるかも!?

- [Max Walk Speed]を初期値(600.0)よりも低くすることで歩くスピードが遅くなります。
- [Jump Z Velocity]を0にすることでジャンプができなくなります。
滑る床
氷の地面などツルツルする場所に使えます!

- [Ground Friction]を初期値(8.0)よりも低くすることで摩擦が無くなり、滑りやすくなります。
- [Braking Deceleration Walking]を初期値(2048.0)よりも低くすることで停止や方向転換時に減速のしづらくなります。
跳ねる床
トランポリンで使えます!

- [Launch Character]のZ方向の数値を大きくすると上空に打ち上げられます。
いかがでしたか?
他にもさまざまな機能のノードがあるので、いろいろと試してみてください!