• 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

  • 相关阅读:
    2017.1.10学习笔记
    v-model双向绑定
    指令之v-bind
    v-for列表渲染
    事件修饰符
    v-on
    指令v-text v-html
    vue起步
    Swoole HTTPServer
    SwooleTCP
  • 原文地址:https://www.cnblogs.com/linqing/p/9825795.html
Copyright © 2020-2023  润新知