アルゴンUE4/UE5&アプリ開発日記

UE4/UE5の機能やプラグインを紹介します。初心者や中級者向けになってます!!

【UE4】interfaceの活用について

インターフェースの活用

今回はぷちコンでのゲーム制作時に活用した、

interface(インターフェース)の例などを書いてみます。

公式でしっかりとした説明があります。

※簡単なインターフェースの実装の説明はここではしません・・・
 公式とか他の方のブログを見ることをおすすめします。

docs.unrealengine.com

※誤字脱字・間違いなどありましたらコメントのほうもよろしくお願いします!!

※今回はUE4.26で説明していきます。

interface(インターフェース)とは?

interface(インターフェース)とは中に実際の処理がない関数になります。
例えばゲームで言うと各キャラクターがアイテムを拾って回復するという共通動作を、
プレイヤーの特性が違うキャラそれぞれに持たせるという形で使用したりします。

GameInstanceでの活用

私の方で説明するのはGameInstanceなどと一緒に活用したことを書きます。

まずはインターフェース用のBPを作成します。

※インターフェースは別のブループリントインターフェースで作成します。

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

GameInstanceで呼び出す関数を作成します。

引数や戻り値などもそれに合わせて設定します。

インターフェース側の実装

GameInstanceの方で実際の処理を作成します。

Setの方はインターフェースのイベントで処理を動作する仕組みです。

GameInstanceで作成したSetのインターフェース関数

Getの方に関してはインターフェース関数があるので、

そちらから戻り値の変数を渡すように変更します。

インターフェースのGet側の受け渡し

実際に呼び出す際はインターフェース側の関数として呼び出すので、

Castをする必要がなく呼び出すことが可能です。

インターフェースからの呼び出し時の動作

GameInstance内で作成したカスタムイベントは、

インターフェースではないのでもちろんCastは必要になります。

GameInstance内のカスタムイベント呼び出し

今回はこのような形でもインターフェースを活用してみました。

その他Interface用のBPなど

その他Interface関連のBPでよく使用されるものだと、

GetAllWidgetsWithInterfaceやGetAllActorsWithInterfaceがあります。

どちらもInterfaceが設定されているWidgetやActorを探します。

WithInterfaceでの検索

以上で説明は終了になります。

まだまだインターフェースの活用法はいくつもあると思うので、

色々試してみたいと思います。