アイテムと重なったら整数の通知を受け取る処理:UnrealEngine
Tutorial BPI, Integer, Tutorial, UE, UE4, UE5, UnrealEngine, アイテム, アンリアルエンジン, インターフェイス, ゲームプログラミング, ゲーム開発, チュートリアル, レベルアップ, ロジック構築, 回復処理, 整数今回は何かしらのアイテムと重なったときに、アイテムが消滅して整数の値をプレイヤーに流す処理を組んでいきたいと思います。
ダメージ処理やHP回復アイテムなど様々な用途で利用できると思うので、楽しんでいってください。
さっそくやっていきましょ!
~ アセットを収集 ~
今回はこちらのアセットを使っていきたいと思います
2025年1月後半の無料アセットになっていたアセットですね!
タイミングがよかったらFabからライブラリに追加しておきましょう
Epic Games Luncharを起動して、Fabライブラリの検索から対象のアセットを表示させます
今回は、5.2-5.5までサポートされいるので、プロジェクトに追加するから、使いたいプロジェクトに追加しましょう
サポートされていないアセットを使う場合は下記リンク先の記事を参考にしてください
バージョンが違うアセットをプロジェクトに追加する方法について:UnrealEngine – UnrealEngineでゲーム制作
追加する場合は、追加したいプロジェクトファイルをクリック後、プロジェクトに追加で簡単に追加することができます
~ アイテムBPの作成 ~
プロジェクトファイルを開いたあと、コンテンツドロワーを立ち上げます
好きな場所に、右クリックからブループリントを作成します
今回はアイテムなので、Actorを選択してください
今回名前は、「BP_Coke」にしました
※アセットでCokeを使用するため
作成したBP_Cokeを開きます
左上のコンポーネントの追加から「スタティックメッシュ」と「Capsule Collision」を追加します
スタティックメッシュを選択して、メッシュに「SM_Coke」を設定します
次にCapsule Collisionをクリックしてください
デフォルトのままだとコリジョンが大きすぎるため、詳細パネルから大きさを調整します
「Capsule Half Height」と「Capsule Radius」値を変動させて調整します。
今回はボトルより少し大きいくらいにしてみました
~ ブループリントインターフェースの作成 ~
右クリックからブループリントインターフェースを作成します
今回名称は「BPI_Integer」にしておきます
※右クリック→ブループリント→ブループリントインターフェイスから作成できます
作成したBPIを開いて設定をしていきます
マイブループリントタブから名称を設定(今回は整数値)するのと同様に、インプットタブにも名称を設定します(こっちは整数)
設定ができたらコンパイルしてセーブして閉じましょう
~ アイテムからの通知処理を作成 ~
BP_Cokeを開きイベントグラフに移動したら上記ノードを組みます。
ノードの要約をすると
・このブループリントアクターが、別のActorに重なったときに、このActorは消滅し、Integerイベントを参照するノードに50の整数値の通知を流す
となっております
~ キャラクターブループリントの処理作成 ~
そこまでできたら次は通知を受け取る側(今回キャラクターブループリント)を開きます
クラス設定を選択して、実装インターフェイスからBPI_Integerを追加します
ちゃんと追加ができるとマイブループリントタブのインターフェースの項目に、追加BPIが黄色で表示されます
追加ができたら、黄色で表示されているBPIをダブルクリックして、Eventをイベントグラフに呼び出しましょう
このIntegerピンからさっき設定した50の整数が流れます
キャラクターブループリントで上のようにノードを組みます
▲説明
このキャラクターが、BP_Cokeに重なったとき、Event 整数値の整数ピンから50の値が流れてきて、Current Integerの数値に足された値が、PrintStringによって画面上にテキストとして表示される
~ BP_Cokeをワールドに配置 ~
作成した、BP_Cokeをワールドに配置します。
数や配置は特段こんかい指定はないので、好きに配置してください
~ ゲームをプレイ ~
実際にプレイをしてみると、BP_Cokeにキャラクターが重なるたびに、左上に加算された値が表示されると思います
また、一回かさなるとCokeじたいも消えていることも分かると思います
色んなことに応用できるものになるので、使い方を試してみるといいかもしれませんね