3D游戏引擎入门课程——资源管理

目录

  • 写在前面
  • 资源管理
    • 资源管理概述
    • 资源管理实例
      • OGRE资源管理
      • Panda3D资源管理

写在前面

本专栏内容均为学堂在线慕课《3D游戏引擎架构设计基础》中的内容。个人将其转化成文字和图片的版本(个人更加喜欢文字版本的教程,阅读速度更快很多),方便查阅。
原课程链接:3D游戏引擎架构设计基础。

资源管理

资源管理概述

游戏资源的组织和管理。其目的是有效地组织和管理各类游戏资源,即在合适的时候快速准确地提供给游戏程序使用。其中,资源组织是指根据各类资源的特性和使用方式,设计资源数据的内存结构;资源管理是指抽象并定义统一的资源处理方式,如:资源加载和卸载、资源调度等。

资源管理过程图如下:
3D游戏引擎入门课程——资源管理_第1张图片
游戏资源管理:

  • 文件管理:包括文件加载与卸载,文件解析,文件格式转换,文件资源打包,文件资源传输等过程。
    3D游戏引擎入门课程——资源管理_第2张图片

  • 内存管理:包括内存分配,访问保证,内存释放等功能:
    3D游戏引擎入门课程——资源管理_第3张图片

  • 状态管理:一般地,一个游戏资源不会再内存中重复存储,以节省内存,根据资源状态,决定加载和使用等操作;通过状态转换图,管理资源加载或卸载的操作。资源状态有:未定义、已定义、未加载、已加载、正使用等。资源状态转换图示例:
    3D游戏引擎入门课程——资源管理_第4张图片

  • 调度算法:原则是尽可能少地移动资源数据,当不得不移动时,根据一定的条件决定移动策略。常用的调度算法包括:对资源优先级排列、LRU算法、根据当前操作决定最可能使用的资源等。

  • 多线程处理
    3D游戏引擎入门课程——资源管理_第5张图片

资源管理实例

OGRE资源管理

3D游戏引擎入门课程——资源管理_第6张图片
其中主要类的类图如下:
3D游戏引擎入门课程——资源管理_第7张图片
3D游戏引擎入门课程——资源管理_第8张图片
3D游戏引擎入门课程——资源管理_第9张图片
上述三个核心类的关系图如下:
3D游戏引擎入门课程——资源管理_第10张图片
OGRE资源生命周期的时序图如下:
3D游戏引擎入门课程——资源管理_第11张图片

Panda3D资源管理

Panda3D资源管理主要类模块:

3D游戏引擎入门课程——资源管理_第12张图片
Panda3D异步资源加载器类图:
3D游戏引擎入门课程——资源管理_第13张图片
Panda3D异步加载时序图:
3D游戏引擎入门课程——资源管理_第14张图片

你可能感兴趣的:(3D游戏引擎)