1·UE基础操作
C++项目
- 编译c++
- 启动engine editor方式
- 双击uproject运行,此方式不能在IDE断点调试,就算在editor中双击c++文件打开了IDE也不行
- 打开IDE,运行启动,可以在IDE断点调试, 但是修改了c++代码,就需要重启editor才能断点
蓝图转c++
- 新建C++类
项目升级
用目标引擎版本打开原项目,点击open a copy创建副本(避免污染源目录)
- 如果有插件或其他使用模块,应切換对应version branch
- 删除红框外的(还有plugin,build打包,.git……你感觉需要的不要删)
- 右键.uproject重新生成
1
2
bOverrideBuildEnvironment = true;
DefaultBuildSettings = BuildSettingsVersion.V5;//以ue5.4为例
展开
- 修改XXX.Target.cs内容
1
2
DefaultBuildSettings = BuildSettingsVersion.V5;
IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_4;//以ue5.4为例
展开
- 修改XXXXEditor.Target.cs内容
- 编译运行
- 修改打包的配置(特别是Android SDK)
- 打包
- 创建新version branch分支提交
注:在升级过程的编译c++,打包的过程中,都会出现大量的error,主要是Engine API的更换,因此要修改代码以适配新的版本
修改项目名称
- 删除Binaries、Intermediate、Saved、.sln(如果是c++项目)
- 将以下文件名以及文件内容的原项目名部分修改为新项目名(注意大小写,注意有可能原名非整个单词,只要替换部分)
- .uproject
- Source/ 下所有文件
- Config/ 下所有文件
- 右键uproject重新生成项目Generate
注:我的做法可能并不正确,在启动后会出现蓝图资产引用丢失的情况,我只进行了手动适配
项目、插件、模块
引擎/项目 由众多模块组成,模块作为组织代码的方式,可启用 / 禁用插件,插件作为可扩展功能
- project
- .uproject配置文件
- 项目版本,名称,描述,类别,模块(名,类型,加载阶段),插件(名,是否启用)
- .target.cs
- 默认构建版本,引擎版本,包含模块名
- .uproject配置文件
- plugin:
- 每个插件以单独的文件夹存放在plugins目录下,插件可以包含一个或多个模块(至少有一个模块),它有很高的独立性和可移植性
- Edit → Plugins 使用现有template创建plugin
- 每个模块以单独的文件夹放置在source文件夹下,内部以public,private的规范
- .uplugin配置文件
- 插件版本,名称,描述,类别,url,作者,模块(名,类型,加载阶段)
- 模块类型:运行时,开发时,编辑器……
- 模块加载阶段:引擎完全加载前配置文件加载后,默认模块加载之前阶段,引擎初始化后
- modle:
- .build.cs配置文件
- 继承ModuleRules
- PublicIncludePaths,PrivateIncludePaths指定搜索路径,可以不用相对路径直接包含文件,
- PublicIncludePathModuleNames,PrivateIncludePathModuleNames指定包含模块名称列表,不需要链接
- PublicDependencyModuleNames,PrivateDependencyModuleNames指定依赖模块名称列表,需要链接
- PublicLibraryPaths系统/库路径列表
- PublicAdditionalLibraries附加库列表
- PublicDelayLoadDLLs延迟加载DLL列表
- DynamicallyLoadedModuleNames运行时动态加载的模块
- public依赖当前模块时自动包含,private仅限此模块内部使用
- nclude,仅允许引用头文件,不能调用对象的方法,Dependency,可以调用函数
- 继承IYvrXRMRModule
- StartupModule模块加载时调用
- ShutdownModule模块卸载时调用
- .build.cs配置文件
目录结构
UE将目录分为2部分:
- 引擎目录
- Samples 样例资产:StarterContent
- Templates 样例工程,比如空白,第三人称,第一人称,VR……
- FeaturePacks 基础功能包, 包含.upack, 本质是.zip 压缩文件,方便用于不同项目
- Engine 引擎源码
- Binaries - 包含可执行文件和构建期间创建的其他文件。
- Build - 包括构建不同平台的引擎所需的文件
- Windows .exe
- Android .apk 或 .aab
- iOS → 生成 .ipa
- Mac → 打包为 .app
- Config - 引擎配置文件,用来控制引擎行为
- Content - 引擎中资产
- DerivedDataCache - 包含加载时针对引用内容生成的派生数据文件。引用内容没有相应的缓存文件会导致加载时间显著延长。
- Intermediate - 包含构建引擎或游戏时生成的临时文件。在游戏目录中,着色器存储在Intermediate目录中。
- Saved - 包含自动保存、配置(.ini)文件和日志文件。此外,Engine\Saved目录还包含崩溃日志、硬件信息和Swarm选项与数据。
- Source - 包含引擎或游戏的所有源文件,包括引擎源代码、工具和游戏类等。
- Developer - 编辑器和引擎共同使用的文件。
- Editor - 仅供编辑器使用的文件。
- Programs - 引擎或编辑器使用的外部工具。
- Runtime - 仅供引擎使用的文件。
- 游戏目录
- ……
本文由作者按照 CC BY 4.0 进行授权


