【初心者のめも】インタラクト アイテムピックアップ【UE5】

obelon

プレイヤーからインタラクト対象を探すライントレース
チャンネルはプロジェクト設定→コリジョンから新規作成(デフォルト応答Ignore)

InteractSystem001.png

InteractSystem002.png

トレースにヒットした時、Hit ActorとLooking at Actorが違うので2つ目のBranchをTrueに進みLooking at ActorにHit Actorが入る

見続けている間はHit ActorとLooking at Actorが同じなので2つ目のBranchでFalseになり進まない

見終わると1つ目のBranchをFalseに進みLooking at Actorを空にする。これで再度見た場合2つ目のBranchをTrueに進める


InteractSystem003.png

ブループリントインターフェイス作成

InteractSystem004.png


StructureとDataTable作成


InteractSystem005.png


ブループリントBP_InteractableItem_Base作成
メッシュを追加してTagを2つ作成
メッシュのコリジョン設定で、作成したトレースチャンネルのトレース応答をブロックに
インターフェイスを追加
GetIntractableActorTagをダブルクリックして編集


Widgetを作りしてアイテム名と数値(kcal)のバインディングを作成
キャラクターブループリントでCreateWidgetして変数に(InteractItemUI)


InteractSystem006.png

キャラクターブループリントのトレース2つ目のBranchの続き
見ているActorのTag取得


InteractSystem007.png

そこから続けてWidgetにデータを送る

SwitchはTag0によって分岐出来るようにするために設置
Itemは拾う、Doorは開けるなど


InteractSystem008.png

続けてAdd to Viewport


InteractSystem009.png

Branch1つ目、トレースがヒットしていない時
Tagを空にしてWidget非表示


InteractSystem010.png

Interactキーを設定
キャラクターの変数(stock kcal)を変更し、Looking at ActorにInteract Key Eventで通知


InteractSystem011.png

BP_InteractableItem_BaseでInteract Key Eventを受け、Destroy Actor

BP_InteractableItem_Baseの子ブループリントを作り、MeshとTagを設定







最初Quixel Bridgeのメッシュに反応しなかったので、メッシュを開いてコリジョンを追加した
関連記事
Posted byobelon

Comments 0

There are no comments yet.
S