一、游戏引擎分层架构
0.游戏引擎分层简介
- 用户层
- 工具层(Tool Layer):编辑器、工具界面
- 功能层(Function Layer):渲染Rendering、动画Animation、物理Physics、相机Camera和实现游戏性的脚本Script、状态机FSM、AI等功能模块
- 资源层(Resource Layer):各类图片、动画、音频资源加载
- 核心层(Core Layer):核心功能如内存管理、容器分配、数据计算、多线程处理等
- 平台层(Platform Layer):对接不同游戏平台、主机和硬件
- 第三方库(Third Party Libraries):中间件和第三方库通过SDK(Software Development Kit)调用
1.资源层
- 将资源(resource)转变为资产(asset),比如将各类图片提取有用信息后(比如psd格式里就有很多无用信息)转换为适合GPU处理的DTS格式
- 使用一个Composite asset文件(如XML)定义资源间的关联性,如一个模型的贴图、动画、材质等对应,并使用全局唯一标识符(GUID)进行管理
- 运行游戏时,使用资产管理器(Runtime Asset Manager)管理资产的生命周期(Asset Life Cyc