纯笔记。昨天尝试往Modes面板添加了自定义的AActor,直接参考[UE4] レベルエディタの配置ツールに独自の項目とアセットを追加する方法里的代码实现:
void FMyPluginModule::StartupModule() { int Priority = 45; FPlacementCategoryInfo Info( LOCTEXT("MyCategory", "MyCategory"), "MyCategory", TEXT("PMMyCategory"), Priority ); IPlacementModeModule::Get().RegisterPlacementCategory(Info); IPlacementModeModule::Get().RegisterPlaceableItem(Info.UniqueHandle, MakeShareable(new FPlaceableItem(nullptr, FAssetData (AMyActor::StaticClass())))); } void FMyPluginModule::ShutdownModule() { if (IPlacementModeModule::IsAvailable()) { IPlacementModeModule::Get().UnregisterPlacementCategory("Video"); } }
|
结果华丽丽遇到崩溃
大概看了下是初始化顺序导致的,改一发uplugin定义
"Modules": [ { "Name": "xxx", "Type": "Editor", "LoadingPhase": "PostEngineInit" } ],
|
改定之后才发现日文博客里有提到这个(卒)
プラグインが作成できたら、プラグイン名.upluginファイルを開き、ModulesのTypeを”Runtime”から”Editor”にLoadingPhaseを”Default”から”PostEngineInit”に変更します。