找回密码
 立即注册
查看: 367|回复: 1

UE4 插件和模块

[复制链接]
发表于 2023-4-6 10:42 | 显示全部楼层 |阅读模式
模块:在UE4中的模块都继承自ModulRules这个类,如下图


一个项目中可以包含多个模块,如下图TestCppProject文件夹,就是TestCppProject项目中的一个模块


TestCppProject.Build.cs为这个模块的声明,其中包含了这个项目引用的所有其他模块


TestCppProject文件夹内的所有内容只是项目的一个模块,一个项目可以包含多个这样的模块,模块的生命就是文件夹内部的后缀.cs的代码。这个.cs文件中,包含了该模块依赖的所有其它模块
插件

引擎插件:放在引擎中的插件。
项目插件:放在某一个项目中的插件,引擎插件放在某一个项目中,就成了项目插件
一个插件可以包含多个模块,如下图,插件中的Modules是一个类似数据的形式,可以包含多个元素,对应的就是多个模块
插件类型:分为Editor模式,和Runtime模式,Editor模式,在打包的时候,这个插件中这个Editor类型的模块会被从项目中剥离出去,Runtime可以正常打包进去



插件里面都是写的什么东西呢?
插件里面主要是实现一些算法,而插件的模块声明(后缀.cs文件)是放置的我们引用的其它模块,也就是说模块可以引用模块,模块可以依赖其它模块,其实我们的模块就是个dll动态链接库,我们可以在我们的插件文件夹目录中找到我们的那个dll




上面这个pdb,是调试用的,如果少了这个文件,就无法调试了
UE4代码文件的后缀都是什么?
项目文件目录下的Intermediate文件夹中存放的是反射数据,如下图


即使把这些文件删除了,引擎也会自动生成这些反射数据

多个模块之间的依赖
组织模块的描述文件有以下几种:
1,[ProjectName].uproject文件:项目描述文件,里面描述了Module的类型,加载时机等。,如下图,描述了项目模块TestCppProject的类型,加载时机。这个项目只包含了TestCppProject这一个模块


2,[PluginName].uplugin文件:插件描述文件,描述了插件中的Module,格式与 .uproject文件相同,都是json文件,如下图的插件描述文件


3,[ModuleName].build.cs文件:主要描述所在Module的编译环境,里面包含了该模块引用依赖的其它所有模块


模块部分见下面链接中讲的比较详细

如何在项目中添加一个插件:
1,在项目的.build.cs中添加对插件的公共依赖


2,在.uproject中添加plugin

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2023-4-6 10:44 | 显示全部楼层
build对依赖模块进行了配置后,依赖模块会自动load?LoadModuleChecked是什么情况 下使用呢
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-4-23 22:45 , Processed in 0.126898 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表