zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    rhel 6.4 + udev+ 11.2.0.3 + gi + asm+ rac 双节点安装
    rhel 6.4 + udev + 11.2.0.3 + asm 单点安装
    vmware 中linux虚拟机动态添加硬盘
    flashback drop
    flashback query
    11g crsctl start/stop crs 和 crsctl start/stop cluster 的关系
    10g crs 启动报错的记录
    检测数据库日志的切换频率及归档文件大小的sql
    用widthStep的方法来增加某范围的像素----与imageROI对比
    用imageROI来增加某范围的像素
  • 原文地址:https://www.cnblogs.com/linqing/p/9825795.html
Copyright © 2011-2022 走看看