とあるゲームプログラマの挑戦と敗北の歴史

UE4とプログラミングとmayaとpythonとhtmlとマラソンを中心に情報を発信する元「技術ブログを目指すブログ」から再始動した毎日の日々を発信するブログです。

UE4:オンラインラーニング(プラグイン作成と使用のベストプラクティス)

UE4オンラインラーニング
プラグイン作成と使用のベストプラクティス
を受講した際のおぼえ書きです。
https://learn.unrealengine.com/course/2503776



プラグインの作り方。
エディタから製作する場合は
編集>プラグイン>新しいプラグイン>空白のプラグインを作成
で作成します。
f:id:toncrimentan_w:20210114124327p:plain



サンプルプラグイン
サンプルプラグインのコードはこちらから取得してきます
https://github.com/ue4plugins/textasset
f:id:toncrimentan_w:20210114124016p:plain

UE4.26の場合インクルードパスが通っていません修正する必要があります。
#include "IPluginManager.h"
    ↓
#include "Interfaces/IPluginManager.h"
f:id:toncrimentan_w:20210114124512p:plain



サンプルプラグインの使い方
テキストアセットを作ることができるプラグインです。

使い方その1)
1.コンテンツブラウザから
  その他>TextAsset で作成
2.TextAssetを編集
3.アセットを右クリック>ReverseTextを実行することで
  アセット内のテキストを反転することができるサンプル。
f:id:toncrimentan_w:20210114124750p:plain

使い方その2)
1.テキストファイルを用意
2.文字列を書いておく
3.ドロップすることでTextAssetを作ることができる。
f:id:toncrimentan_w:20210114125131p:plain



UFactoryクラス
・コンテントメニュー
・ドラッグドロップによるインポート
・自動再インポート



FAssetTypeActions_Baseクラス
・主にアセットができることを定義します。
・継承し関数をオーバーライドして利用する。
・テキスト変更
・カラー変更
・GetCategories()
 カテゴリ指定
・GetActions()、HasActions()
 コンテキストメニュー(右クリック)の拡張
・GetTypedWeakObjectPtrs<>()
 ウィークポインタ


IModuleInterface
・.Build.cs でモジュールのコンパイル方法を指定
超難しい




Slate
・UE状のUIのすべてがスレートでできている
・Source>Runtime>Slate

WidgetReflector
・興味のあるUIがあればどういったUIなのか調べることができます。
・メニューバー>デベロッパーツール>ヴィジェットリフレクタ>ヒットテストできるヴィジェットを選択
 でポインタがあっているヴィジェットを調べることができます。
f:id:toncrimentan_w:20210114160557p:plain



カスタムアセットエディタ
・別名ツールキット
検索した場合、ドキュメントではカスタムアセット、コードではツールキットでヒットするので注意が必要です。
・FAssetEditorToolkit
・タブ非表示設定(SetHideTabWell)


超難しかった・・