资源层
管理游戏引擎生态的资源池分配 每个资产的实时生命周期
Resource 各种文件格式的资源 转换importing Asset 资产(高效数据)
引擎中最重要的是资产之间的关联 reference
GUID :游戏资产的唯一识别号
运行中资产管理器 Runtime Asset Manager :读取路径文件,handle system管理文件关联
资产管理生命周期:不同资产有不同生命周期,有限的内存需要释放资源,垃圾回收和延迟加载时很严峻的特征
功能层
一个tick里,先Tick logic 逻辑
再Tick render 绘制
多核并行架构,dependency管理
未来的引擎一定是多核并行架构
核心层
数学库
Real time application 导致引擎对效率要求很高
需要重写数学库
SIMD
SSE CPU并行向量计算
数据结构和容器
STL在高频增删数据时,会出现大量空洞,以及内存不受管理
需要自己重写数据结构
内存管理
平台层
掩盖平台差异度
RHI Render Hardware Interface:重新定义图形api,封装硬件SDK
工具层
允许别人创造游戏的内容
DCCDigital Content Creation数字内容创造
外部编辑工具资产与引擎的编辑工具通过asset conditionning pipeline变成游戏资产
游戏分层原因
通过分层解构复杂度
应对增长的需求
越往上灵活性越强,往下稳定