之前刚好在整理框架做分享,顺便在这里贴一份。
"现代游戏引擎模块与架构指南":{
"Runtime": {
"Gameplay框架": {
"Config": "全局常量",
"DataStorge": "序列化/持久化",
"Debugger": "分级展示信息",
"WebRequest": "get/post",
"Network": "tcp/udp/kcp/websocket",
"EventManager": "单播,多播",
"HotFix": "热更,分包",
"ResourceManager": "资产管理",
"FileSys/IO": "数据操作",
"Localization": "资产本地化",
"FSM/Procedure": "流程管理,通用基类",
"Object Pool": "对象池",
"SoundManager": "音频管理(层/2D3D)",
"UIManager": "UI管理(层)",
"SceneManager": "场景管理(异步加载)"
"Util":"通用代码库"
},
"业务逻辑": {
"略"
}
},
"Editor(引擎使用侧)": {
"编辑器核心系统": {
"文件系统":{
"基础内容":{
"资产操作":"https://docs.unrealengine.com/4.27/zh-CN/Basics/AssetsAndPackages/BrowserAssetCreation/",
"内容浏览器":"https://docs.unrealengine.com/4.26/zh-CN/Basics/ContentBrowser/",
},
"补充阅读":{
"资产和包":"https://docs.unrealengine.com/4.26/zh-CN/Basics/AssetsAndPackages/",
"UE4文件系统":"https://blog.csdn.net/qq_39108291/article/details/122715420",
},
},
"动画系统":{
"基础内容":{
"骨骼动画":{
"状态机":"https://docs.unrealengine.com/4.27/zh-CN/AnimatingObjects/SkeletalMeshAnimation/StateMachines/",
"动画蓝图":"https://docs.unrealengine.com/4.27/zh-CN/AnimatingObjects/SkeletalMeshAnimation/AnimBlueprints/",
"蒙太奇":"https://docs.unrealengine.com/4.27/zh-CN/AnimatingObjects/SkeletalMeshAnimation/AnimMontage/",
"动画序列":"https://docs.unrealengine.com/4.27/zh-CN/AnimatingObjects/SkeletalMeshAnimation/Sequences/",
"IK":"https://docs.unrealengine.com/4.27/zh-CN/AnimatingObjects/SkeletalMeshAnimation/IKSetups/",
},
"Paper2D":"https://docs.unrealengine.com/4.27/zh-CN/AnimatingObjects/Paper2D/",
"Sequencer":"https://docs.unrealengine.com/4.27/zh-CN/AnimatingObjects/Sequencer/",
},
"补充阅读":{
"https://docs.unrealengine.com/4.27/zh-CN/AnimatingObjects/",
},
},
"物理系统":{
"基础内容":{
"碰撞":"https://docs.unrealengine.com/4.27/zh-CN/InteractiveExperiences/Physics/Collision/Overview/",
"刚体":"https://docs.unrealengine.com/4.27/zh-CN/InteractiveExperiences/Physics/PhysicsBodies/",
"射线检测":"https://docs.unrealengine.com/4.27/zh-CN/InteractiveExperiences/Physics/PhysicsBodies/",
},
"补充阅读":{
"https://docs.unrealengine.com/5.0/zh-CN/physics-in-unreal-engine/",
"https://zhuanlan.zhihu.com/p/352425260"
},
},
"HUD":{
"基础内容":{
"UMG设计器":{
"布局和视觉设计":"https://docs.unrealengine.com/5.0/zh-CN/visual-design-and-layout-tools-for-umg-in-unreal-engine/",
"控件类型":"https://docs.unrealengine.com/5.0/zh-CN/widget-type-reference-for-umg-ui-designer-in-unreal-engine/"
},
"UMG蓝图":{
"蓝图指南":"https://docs.unrealengine.com/5.0/zh-CN/programming-and-scripting-with-umg-in-unreal-engine/"
},
},
"补充阅读":{
"https://docs.unrealengine.com/5.0/zh-CN/visual-design-and-layout-tools-for-umg-in-unreal-engine/",
},
},
"渲染模块":{
"基础内容":{
"光照":"https://docs.unrealengine.com/4.27/zh-CN/RenderingAndGraphics/Overview/",
"粒子系统":"https://docs.unrealengine.com/4.27/zh-CN/RenderingAndGraphics/Niagara/",
"材质":"https://docs.unrealengine.com/4.27/zh-CN/RenderingAndGraphics/Materials/",
},
"补充阅读":{
"https://docs.unrealengine.com/4.27/zh-CN/RenderingAndGraphics/",
},
},
"多媒体":{
"基础内容":{
"编码":"https://blog.csdn.net/leixiaohua1020/article/details/18893769",
"容器":"https://zhuanlan.zhihu.com/p/399838905",
"UE4应用":"https://docs.unrealengine.com/5.0/zh-CN/working-with-media-in-unreal-engine/",
},
},
"跨平台":{
"基础内容":{
"Unity":{
"IL2CPP",
"Mono"
},
"UE4":{
"CPP"
}
},
"补充阅读":{
"https://blog.csdn.net/u014528558/article/details/117136475",
},
},
},
"插件拓展": {
"Runtime相关数据生成工具",
"其他数据批处理工具",
"其他Runtime-Editor结构 Gameplay模块",
}
},
"Editor(引擎构建侧)(See:https://zhuanlan.zhihu.com/p/506058961)":
{
"ToolLayer":{
"引擎前端框架":{
"QT",
"Electron",
"WPF",
"..."
},
},
"FuncLayer":{
"核心功能模块API":{
"Animation",
"Physics",
"Rendering",
"Camer,HUD,Input",
"Script,FSM,AI",
"..."
},
"多线程优化":{
"Fixed",
"Mainstream",
"Advanced"
}
},
"ResLayer":{
"资产管理与封装":{
"mesh",
"sound",
"texture",
"video",
"xml,json",
"..."
},
"资产生命周期管理":{
"加载卸载",
"池化",
"GC",
"异步加载/延迟加载",
"...",
}
},
"CoreLayer":{
"容器创建",
"内存管理",
"数学库",
"多线程",
"..."
},
"PlatfromLayer":{
"目标OS兼容",
"渲染api兼容",
"输入兼容",
"文件系统映射",
"平台SDK处理",
"..."
},
"3rdParty Lib":{
"第三方格式兼容",
"物理引擎"
"..."
},
}
},
"相关知识":{
"设计模式与框架":{
"设计模式":{
"https://www.jianshu.com/p/da3ffb955a93",
"https://zhuanlan.zhihu.com/p/39707078",
"https://zhuanlan.zhihu.com/p/23821422",
},
"常见框架":{
"MVX",
"MOM",
"ECS"
},
},
"数据结构与算法":{
"https://www.runoob.com/data-structures/data-structures-tutorial.html",
"数据结构":{
"栈",
"队列",
"数组",
"链表",
"树",
"图",
"堆",
"哈希表",
},
"算法":{
"排序",
"查找",
"插入",
"更新",
"删除",
},
},
"序列化":{
"Json":{},
"Xml":{},
"byte[]":{},
"Protobuf":{},
},
"图形学":{
"图形渲染管线":{},
"渲染":{
"PBR":{},
"NPR":{},
"后处理":{},
},
"编程语言":{
"Unity-ShaderLab",
"OpenGL-GLSL",
"DirectX-HLSL",
"NVIDIA-Cg",
},
"图形库":{
"DirectX",
"OpenGl",
"Metal"
},
},
"AI:":{
"FSM":{},
"BehaviorTree":{},
"HTN":{},
"GOAP":{},
"MCTS":{},
"Deep Learning":{},
},
"网络":{
"原理":{
"OSI七层模型":{},
},
"协议":{
"TCP":{
"WebSocket":{},
"Http":{},
},
"UDP":{},
"KCP":{},
},
"通信":{
"NetMessage",
"RPC"
},
"同步":{
"帧同步",
"状态同步"
},
"应用(DS/P2P)":{
"UE4":{
"DS":"https://zhuanlan.zhihu.com/p/34723199",
"DS":"https://zhuanlan.zhihu.com/p/55596030"
},
"Unity":{
"MlAPI":"",
"com.unity.transpor":"https://docs.unity3d.com/Packages/com.unity.transport@1.3/manual/index.html",
"HLAPI-Mirror":"https://mirror-networking.com/"
"UNET":"https://blog.unity.com/technology/evolving-multiplayer-games-beyond-unet",
"ET":"https://github.com/egametang/ET"
}
}
},
"数据库":{
"关系型数据库":{
"sql",
"mysql"
},
"非关系型数据库":{
"MongoDB",
"Redis"
},
},
"热更":{
"UE4":{
"Pak",
"Unlua",
"Slua"
},
"Unity":{
"Assetbundles",
"XLua",
"toLua",
"Ulua",
"Slua",
"Huatuo",
}
},
"脚本语言":{
"lua":{
"核心概念":{
"闭包",
"Table",
"Metatable",
". :",
"pairs ipairs"
}
"教程":"https://www.runoob.com/lua/lua-tutorial.html",
},
"python":"https://www.runoob.com/python3/python3-tutorial.html",
},
"性能优化":{
"实例化开销 -- 分帧 对象池 GC",
"funccall开销 -- 空方法剔除 递归改递推",
"drawcall开销 -- 动态/静态合批",
"Mesh开销 -- 渲染剔除 billboard LOD",
"低效代码 -- 反射 Linq C#装拆箱"
},
}
文章评论