UE4笔记-Plugins插件应用相关记录
UE4 Plugins插件相关的一些小技巧
Q.UE4中支持自定义插件在Editor中进行配置:
主要思路:
使用UCLASS 和UPROPERTY 的config 宏,UHT会自动将相关的属性值或引用的对象写入到关联的 .ini中.并在在创建时会自动使用Ini的信息进行初始化
Note:
根据于UCLASS 的config的配置,会将配置项写入到相应的.ini
如
UCLASS(config = Engine, defaultconfig)
配置信息会写入到DefaultEngine.ini中(不存在的ini会自动创建)..
例子流程:
Step 1 定义配置类:
#pragma once #include "CoreMinimal.h" #include "MySettings.generated.h" UCLASS(config = Engine, defaultconfig) class UMySettings : public UObject { GENERATED_UCLASS_BODY() public: UPROPERTY(EditAnywhere, Config, Category = "Bind") bool MyValue = 0.0f; };
Step 2 将Plugin 配置类和UE4 Editor进行绑定:
/** */ void FMyPluginModule::StartupModule() { RegisterSettings(); } /** */ void FMyPluginModule::ShutdownModule() { UnregisterSettings(); } /** */ void FMyPluginModule::RegisterSettings() { //绑定 #if WITH_EDITOR if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings")) { SettingsModule->RegisterSettings("Project", //绑定到Project Settings 下 "Plugins", //绑定到Plugins分类下 "MyPlugin", LOCTEXT("MyPluginSettingsName", "MyPlugin"),// DisplayName LOCTEXT("MyPluginDescription", "Configure the MyPlugin plugin"), GetMutableDefault<UMySettings >() ); } #endif } /** */ void FMyPluginModule::UnregisterSettings() { #if WITH_EDITOR if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings")) { SettingsModule->UnregisterSettings("Project", "Plugins", "MyPlugin"); } #endif }
Step 3 Editor 进行配置:
Step 4 访问配置类对象:
const UGizmosSettings *Settings = GetDefault<UMySettings>();
Q.引用DLL .A第三方类库:
Q.Plugins和Plugins之间的通讯:
wait edit
本文原创,不定时更新
可以随意转载到任何网站
~但是~ 转载也要按“基本法”
请注明原文出处和作者