UE基础 —— 目录结构

目录

[Root Directory](#Root Directory)

[Common Directories](#Common Directories)

[Modules and Plugins](#Modules and Plugins)

[Engine-specific Directories](#Engine-specific Directories)

[Game Project Directories](#Game Project Directories)

[Solution Directories](#Solution Directories)


在最高一级目录中,是引擎目录及所有游戏项目目录;引擎目录包含包含引擎自身及其随附工具;每个游戏目录都包含与该游戏有关的所有文件;

Root Directory

  • Engine,包含构成引擎的所有源代码、内容等;
  • Templates,创建新项目时可用的项目模板;
  • GenerateProjectFiles.bat,用于创建在VS中使用引擎和游戏所需的UE解决方案和项目文件;
  • Default.uprojectdirs,辅助文件,帮助引擎找到子目录中的项目;

Common Directories

通用目录是在引擎和游戏目录中都存在的一些子目录:

  • Binaries,包含可执行文件或编译间创建的其他文件;
  • Build,包含编译引擎或游戏所需的文件,包括为某些平台创建项目版本时所需的文件;
  • Config,配置文件,可控制引擎的行为,覆盖在Engine\Config目录下的值设置;
  • Content,保存引擎或游戏的内容,如资产包、地图;
  • DerivedDataCache,包含派生数据文件(被引用内容加载时生成的),如被引用内容未生成缓存文件,将显著增加加载时间;
  • Intermediate,包含编译引擎或游戏时生成的临时文件;在游戏目录中,Shaders也存储在此目录;
  • Saved,包含自动保存文件,配置(.ini)文件和日志文件;
  • Source,包含引擎或游戏的所有源文件,包括引擎源代码、工具和游戏类等;
    • Engine:
      Developer:编辑器和引擎共同使用的文件;
      Editor:仅编辑器使用的文件;
      Programs:引擎和编辑器使用的外部工具;
      Runtime:仅引擎使用的文件;
    • Game:按模块分组
      Classes:包含所有的头.h文件;
      Private:包含所有.cpp文件;
      Public:包含模块的头文件;

Modules and Plugins

UE的功能被组织成许多模块和插件,模块和插件之间的主要区别之一是模块只包含代码;如,当在引擎中创建项目时,项目源代码会被组织到一个带*的模块中***.Build.cs** 文件;插件包含自己的源文件、二进制文件和**.ulugin**文件;插件也可以包含资产,而模块则不能;因此,可以重新分发插件,以便在其他UE项目中使用它;

Engine-specific Directories

一些子目录对引擎目录是特定的:

  • Documentation,包含引擎文档,包括源文件和发布的文件;
    • HTML,发布的HTML文档文件;
    • Source,源markdown文档文件;
  • Extras:其他辅助和工具文件;
  • Programs:包含根目录中各个项目及其他虚幻程序的配置文件和日志文件;
  • Shaders:保存引擎的着色器源文件(.usf);

Game Project Directories

  • Binaries,包含可执行文件或编译间创建的其他文件;
  • Config,默认项目设置;
  • Content,包含引擎或游戏的内容,如资产包、地图;
  • External dependencies,显示公共引擎头文件(仅在Visual Studio中可见);
  • Intermediate,包含引擎构建工具生成的文件,如VS项目文件,这些文件可被删除和重建;
  • Saved,包含引擎生成的文件,如配置和日志文件,这些文件可被删除和重建;
  • Source,包含游戏模块对象类文件;

Solution Directories

  • Classes,包含游戏对象类定义(.h文件);
  • Config,默认项目设置;
  • External dependencies,显示公共引擎头文件(仅在Visual Studio中可见);
  • Private,包含私有游戏对象类实现文件(.cpp文件);
  • Public,包含公共游戏对象类实现文件(.cpp文件);
相关推荐
为将者,自当识天晓地。15 分钟前
c++多线程
java·开发语言
daqinzl23 分钟前
java获取机器ip、mac
java·mac·ip
激流丶39 分钟前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
Themberfue43 分钟前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
让学习成为一种生活方式1 小时前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
晨曦_子画1 小时前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
假装我不帅1 小时前
asp.net framework从webform开始创建mvc项目
后端·asp.net·mvc
南宫生1 小时前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
神仙别闹1 小时前
基于ASP.NET+SQL Server实现简单小说网站(包括PC版本和移动版本)
后端·asp.net