「Vtuberの雑学メモ帳」

注目ゲームの攻略記事&VTuber関係の記事をまとめる趣味100%の雑記ブログ。※少年Vtuber「不断シエル」と姉が運営しています。

【UE5】空を飛ぶ無重力飛行バフアイテムの作り方

UE5初心者取得後7秒間空を飛ぶ「無重力飛行バフアイテム」の作成方法についてまとめていくぜ!

▼本文は「続きを読む」からどうぞ~!

◆復習用メモ

①ブループリントインターフェース「BPI_PickUp」を作る

ブループリントインターフェース「BPI_PickUp」を作り、その中の[FUNCTIONS]に「Wing」も追加する。

②アクターBP「BP_FlyItem]を作る

アクターBP「BP_FlyItem」を作る。
▼以下のようにイベントグラフを編集する。

③プレイヤーBP「BP_ThirdPersonCharacter」を編集

イベントグラフの上部[Class Settings]を左クリで有効化後、右下[▼Implemented Interfaces]から[BPI_Pick Up]に紐づける

左下[▼INTERFACES]内にある[Wing]をダブルクリックしてイベントグラフへ追加。
▼そのまま後ろの処理を書いていく。

これで、ジャンプ後に空中へ浮かんでいく飛行バフを実装できた。
(※7秒たったら効果が切れて地上に戻ってくる。
ゲームジャンルによっては、バフじゃなくて行動阻害デバフっぽくなるかも!)

◆ノードまとめ+感想

「Set Gravity Scale」

ターゲットピン[Character Movement]コンポーネントを繋げると、重力が変更できる
(プレイヤーのビューポート左上にあるコンポーネント欄から[Character Movement~]をドラッグ&ドロップでGetしてイベントグラフへ配置。
[Gravity Scale]の初期値も同コンポーネント内のDetails欄に書いてあるので要確認)

※死亡の概念があるゲームなら、死亡時orリスポーン時に重力を初期値へSetしておいた方が良いかも。

「BPIが想像以上に便利すぎる件」

つい最近覚えた「ブループリントインターフェース(BPI)」のおかげで、取得後にプレイヤー側の状態変化が起きるアイテムを作りやすくなった…!

  • [On Component Begin Overlap]+[Get Player Character]+[==]+[Branch]+[Message(BPI)]+[Destroy Actor]などの構成で使うとすごく便利。
  • BPIを使わない場合、[Get Player Character]+[==]の部分[Actor Has Tag]でも代用できる
  • ただし、後ろでBPIを発信する予定がある時は[Actor Has Tag]だと参照情報を得られず二度手間だから、[Get Player Character]+[==]にしておく。
  • BPI[Get Player Character][==]を上手く使えば、[Cast to]の使用頻度がだいぶ下がりそう!!

ちなみに、複数のBPへBPI通知を発信する場合は、[Get All Actor With Tag]というノードがとても便利だった。
※このノードは、あらかじめタグ付けしておいたアクターの参照情報をまとめて取得できる。

◆本格的な飛行モードを作りたい人向けの情報まとめ


上昇/下降までを実装したい場合、上のQ&A記事動画を見てみるのが良いと思う!
(後でこのパターンも作ってみたい)