虚幻4引擎源码学习笔记(一):整体文件结构
首先根据目录文件夹整体看一下结构,版本4.2
Binaries
里面是一些配置文件和第三方的配置文件,全部是xml,从这可以看到虚幻4都用了什么第三方工具,有各个平台的图形库,还有声音库,物理库(PhysX3),VR,图形显卡,Mono,,等等
Build
各个平台编译需要的,有一些批处理和xml文件等等
有安卓,IOS,TVOS,HTML5等等
Config
各个平台的参数设置
Documentation
文档
Extras
额外的第三方工具
有Maya动画Ragging工具,VSDebug等等
Plugins
插件,每个插件都有一个.uplugin文件来表示版本号和信息
2D(Paper2D):虚幻的基于Sprite的系统
https://docs.unrealengine.com/en-us/Engine/Paper2D
AI:我们可以在AISupportModule类中看到有哪些类是AI模块,包括导航系统等等
PublicDependencyModuleNames.AddRange(
new string[] {
"Core",
"CoreUObject",
"Engine",
"NavigationSystem",
"AIModule"
}
);
Animation(LiveLink):LiveLink是能够在外部建模软件(比如maya)修改动画,然后在Unreal中能够实时显示修改后的动画的功能
https://docs.unrealengine.com/en-us/Engine/Animation/Live-Link-Plugin
Blendable(Light Propagation Volume):是一种实时GI方法(格子和球谐)
https://wiki.unrealengine.com/Light_Propagation_Volumes_GI
https://docs.unrealengine.com/en-us/Engine/Rendering/LightingAndShadows/LightPropagationVolumes
Compositiong:Composure插件,将游戏与现实中影像混合的插件,
https://docs.unrealengine.com/en-us/Engine/Composure
lens distortion插件,镜头畸变,内部还有shader代码,本质都是变换uv
openCV lens distortion插件
Developer:Blank Plugin一个空白的插件,可以提供给开发者开发插件参考
CLion 插件
codelite插件
Git源码管理插件
https://wiki.unrealengine.com/Git_source_control_(Tutorial)
KDevelop插件
OneSky本地化服务插件
Perforce版本控制插件
https://api.unrealengine.com/CHN/Engine/Basics/SourceControl/Perforce/index.html
RenderDoc着色器调试器
源码:https://github.com/Temaran/UE4RenderDocPlugin
https://wiki.unrealengine.com/RenderDoc_plugin
https://forums.unrealengine.com/development-discussion/rendering/17347-new-plugin-shader-debugging-made-easy-with-renderdoc-for-ue4
等等还有一些VS、Xcode等编译器插件
Editor:一些编辑器编辑器插件
资源管理、蓝图材质贴图节点、面部动画编辑器,Gameplay Tags编辑器,mesh编辑器、Mobile Launcher Profile Wizard,SpeedTree导入插件,等等
Experimental:
Alembic文件导入插件(.abc插件)
https://docs.unrealengine.com/en-us/Engine/Content/AlembicImporter
苹果图片工具、苹果视觉插件、蓝图统计插件、角色AI插件、代码浏览等等插件
FX:特效相关插件
Houdini Niagara插件
Media:媒体相关插件
Messaging:网络相关插件,TCP、UDP
Performance:Performance Monitor性能监控器
RunTime:
Google AR Core、Apple AR Kit、Apple Movie Player、Android Moview Player、Oculus VR等等
Programs
一些工具的参数,内部全是.ini文件
打补丁工具,shader编译,等等
Shaders
所有着色器,分为private,public,standalone
Source
真正源码所在
Developer开发部分
Editor编辑器部分
Programs程序部分
Runtime核心部分
ThirdParty第三方
------by wolf96 2018.9.9
欢迎访问个人网站:点击链接