上一次修改时间:2020-03-28 01:42:48

UE4插件与编辑器Slate

  1. UE4编辑器插件(UE4引擎插件)、项目插件、模块的区别

    1)项目插件放到UE4引擎下面就是引擎插件,插件是独立的,可以移植到多版本的引擎里;模块一般有对其它模块的依赖,因此移植性不如插件;

    2)模块一般用来做一些上层的逻辑,插件则用来做一些通用的底层逻辑;

    3)UE4插件可以包含多个模块,模块则依赖于插件;

    4)一个插件最少包含一个模块;

  2. UE4预设的插件说明

    图片.png

    图片.png

    纯内容的插件下面放一些美术资源;

    图片.png

    蓝图库相当于一个函数库;

    图片.png

    图片.png

    编辑器工具栏按钮插件创建后,会在编辑器上增加一个按钮;

    图片.png

    编辑器Standalone窗口和上面的编辑器工具栏按钮插件类似,会在编辑器上增加一个按钮,点击后会独立新增一个独立小窗口;

    图片.png

    图片.png
    编辑器模式的插件创建后,会在上图的工具栏上新增一个按钮;

    图片.png

    第三方库插件可以用来包含第三方的库,如MySql;

    图片.png

    插件描述信息;

  3. UE4插件的启动文件

    在项目下创建一个空白插件后,打开插件的启动文件,该文件是一个json文件;

    图片.png

    图片.png

    插件启动后,会解析该json对象,读取插件及模块的信息;其中,模块下的Type为开发时,表示该插件只会在开发模式时加载,打包后则不会加载;

    图片.png

    图片.png

    图片.png

    插件模块下Type的说明符;

    1)Runtime:在任何模式下都会加载;

    2)RuntimeNoCommandlet:不包含命令行的Runtime模式;

    3)RuntimeAndProgram:包含UE4程序的模式;

    4)Developer:开发模式下使用,打包模式下不会调用;

    5)Editor:编辑器启动时会自动加载;

    6)Program:独立的小程序;

    7)ServerOnly:服务端类型插件;

    8)ClientOnly:客户端类型插件;

    UE4加载模块的顺序:

    图片.png

    图片.png

    图片.png

    插件下模块里,读取说明符:

    1)PostConfigInit:引擎初始化之前进行加载;配置系统初始后进行加载;

    2)PreEarlyLoadingScreen:在加载UObject之前进行加载;

    3)PreDefault:默认模块加载之前加载;

    4)PostDefault:默认模块加载之后加载;

  4. 插件的Bulid.cs文件

    图片.png

    公共路径的名称,在默认的文件目录下,如果还要新建其它目录,需要在这里进行配置,否则会找不到对应文件;

    图片.png

    公共依赖和私有依赖的模块名称;当有其它模块引用了该插件时,公共的依赖可以被其它模块访问,但私有依赖则不能被访问;

    图片.png

    动态读取模块的名称;

  5. 在项目中使用插件时,需要在项目的Bulid.cs文件里包含插件的模块;

    图片.png

  6. UE4项目里新增模块后需要在Target.cs文件加上模块名,否则编译器不会编译该模块

    图片.png

  7. Target.cs和Bulid.cs文件

    Target.cs文件管编译,Bulid.cs管连接;