UE で「依存性の注入」を利用するメリット(Unreal Engine Meetup Hiroshima #1)

5.1K Views

February 15, 25

スライド概要

profile-image

ゲームプログラマー┃C#┃C++┃Unity┃Unreal Engine┃Google Apps Script┃Git

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

UE で「依存性の注入」を 利用するメリット ツバサムス @tsubasamusu

2.

自己紹介 高校卒業後、富山の企業で UE5 を用いて iOS と Android 用のアプリを開発 現在は退職し、一時的にフリーランスで Unity や UE のお仕事をしています 「ツバサムスBlog」という技術ブログをや ってます! 最近はエディタ拡張にハマっていて、プラ グインを開発しながら「Unreal C++ の学習 メモ」に学んだ事を随時追加しています! ツバサムスBlog

3.

「依存性の注入」とは 英語では Dependency Injection(DI)という。 一言で表すと「オブジェクトを自分で作るのではなく、外部から注入 してもらおう!」という考え方の事。

4.

DI の利用例 ←自分で武器(BP_PistolComponent)を作って Shot() を呼び出している。 Shot() が宣言してあるインターフェース (BPI_Weapon)を外部から事前に受け取り、 Shot() を呼び出している↓ ↓DI を利用している例 ↑DI を利用していない例 ※タイミング的にはセッターよりも「Expose on Spawn」で注入した方が良いかもしれない

5.

DI のメリット① 新たな武器(BP_ShotgunComponent) の Shot() の動作を確認したい時、左の画 像のように Shot() の呼び出し箇所を直接 編集する必要があるが、DI を利用すると 注入する側が注入するオブジェクトを変 えるだけで良いため、単体テストしやす くなる! ↑DI を利用していない時 ↑DI を利用している時

6.

DI のメリット② Shot() を呼び出すクラス(BP_PlayerCharacter)が武器のクラスでは なく、インターフェースに依存するようになるため、クラスを疎結合 化できる! ※DiskSize

7.

最後に 開発規模が大きくなればなるほど DI の 重要性は増します! DI には他にもメリットがあれば、デメ リットもあるので興味のある方はぜひ 調べてみてください! X でも日々発信しているのでチラッと 覗いていただけると嬉しいです! @tsubasamusu