IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 【GAMES104】Lecture2-游戏引擎五层架构 -> 正文阅读

[游戏开发]【GAMES104】Lecture2-游戏引擎五层架构

总览

游戏引擎由工具架构和运行时组件组成(Tool+RunTime),继续细分又可以把运行时组件分为4层。故总体是五层架构。

学习目标

  1. 掌握游戏引擎整体架构,了解每层功能
  2. 明确调用关系:上层调用下层
  3. 日后写代码要先思考,这个功能应该写在哪层

五层架构

Tool Layer 工具层

提供可视化界面和接口给使用引擎的人员。

这层也处理动画,mesh等资产的第三方格式导入导出(资产管道)

Function Layer 功能层

物理,渲染,动画都在这层
在这里插入图片描述
阅读这层的代码从Tick入手(UE4的Tick,Unity的Update):
在这里插入图片描述
Tick又分为tickLogic和tickRender。分别处理逻辑和渲染

Resource Layer 资源层

负责存储联系不同的游戏资产,管理资产生命周期(。

如材质,纹理和mesh的资产依赖记录、

如不需要的资产回收和延迟加载(deferred loading,如远处的景等到人物靠近了才进行加载)

Core Layer 核心层

通用功能的集合。

如内存管理,垃圾回收,自定义数据结构及算法,矩阵计算等数学库。

这层的代码要精心设计,因其对效率要求很高。

Platform Layer 平台层

使引擎能够兼容各种硬件平台,实现引擎的平台无关性

由于不同游戏平台对同一个文件的处理可能不一样。如Win和Mac路径的写法。更严重的是硬件架构都可能不同。所以需要一个平台独立层运行在各层之下,包装操作系统调用和其它API,保证引擎在不同硬件平台上达到相同的运行效果
在这里插入图片描述
(可以通过虚函数实现)

第三方中间件

在上述五层的构造中,都由可能使用到现成的第三方中间件。数据结构和算法,碰撞和物理,图形,角色动画,人工智能,生物力学……这些都有现成的优秀第三方库可以使用

故第三方中间件在整个引擎中属于横跨五层的存在在这里插入图片描述

小结

游戏引擎可以分为五层架构,从下往上分别是:平台层、核心层、资源层、功能层、工具层。其中前四层属于runtime:运行时组件。工具层为引擎的工具架构

只允许上层调用下层接口,避免出现循环依赖

基本所有引擎的架构都是由此基本架构延申。但不同游戏类型的游戏引擎存在差异(一个具体的游戏引擎通常是为了某类型的游戏设计的)
在这里插入图片描述

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-03-24 00:54:10  更:2022-03-24 00:55:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 21:00:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码