[Games104笔记]3/21 基础架构1 『引擎架构分层,整体Pipeline』

笔记结合了游戏引擎架构 Game Engine Architecture by Jason Gregory 第二版

仅为个人学习整理,


目录

平台层

核心层

资源层

功能层

工具层



工具层

功能层

资源层

核心层 core

平台层 platform


功能调用基本上是自上而下(上层调用下层)


"如同所有软件系统,游戏引擎也是以软件层(software layer)构建的。通常上层依赖下层,下层不依赖上层。当下层依赖上层时,称为循环依赖(circular dependency)。在任何软件系统中,循环依赖都要极力避免,不然会导致系统间复杂的耦合(coupling),也会使软件难以测试,并妨碍代码重用。对于大型软件系统,如游戏引擎,此问题尤其重要。"

平台层

上层的架构庞大而复杂, 而用户的使用环境/设备多种多样(PC/MAC...   键鼠/手柄/体感...)

因此平台层需要保证可移植性


核心层

 游戏引擎以及其他大规模复杂C++应用软件,都需要一些有用的实用软件, 这类软件称为核心系统(core system)。

常见功能:

 

 游戏引擎对于底层的效率非常高, STL并不足以满足, 设计者往往会写一套适配的数据结构


资源层

 unity资源工作流程:

Unity - Manual: Asset Workflow (unity3d.com)https://docs.unity3d.com/Manual/AssetWorkflow.html


功能层

tick入手,

UE:tick / Unity:update

多线程将成为趋势 

unity的循环流程

 


工具层

 DCC

"DCC应用软件所使用的数据格式,鲜有适合直接用于游戏中的,原因有二。
1. DCC 软件在内存中的数据模型,通常比游戏所需的复杂得多。例如,Maya的场景节点,以有向无环图(directed acyclic graph, DAG)存储,包含复杂的互相连接的网络。Maya还存储了该文件的所有编辑历史记录。Maya场景中每个物体的位置、方向、比例,都以完整的三维变换表示,此变换又由平移(translation)、旋转(rotation)、缩放(scale)、切变(shear)所组成。游戏引擎通常只需这些信息的一小部分就能在游戏中渲染模型。


2.在游戏中读取DCC 软件格式的文件,其速度通常过慢。而有些格式更是不公开的专有格式。
因此,用DCC 软件制作的数据,通常要导出为容易读取的标准格式或自定义格式,以便在游戏中使用。


        当数据自DCC 软件导出后,有时必须经过再处理,才能放在游戏引擎里使用。若工作室要为游戏开发多个平台,这些中间文件必须按平台做不同处理。例如,三维网格(3D mesh)数据可能导出为某中间文件格式,如XML 或简单的二进制格式;之后,可能会合并相同材质的网格,或把太大的网格分割成引擎允许的大小;最后,为方便每个平台读取,用最适合的方式组织网格数据,并包装成内存影像。
        从 DCC 到游戏引擎的管道,有时候被称为资产调节管道(asset conditioning pipeline)。每个引擎都有某种形式的资产调节管道。"

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Jenkins pipeline 架构是一种基于脚本的流水线构建工具,它可以实现持续集成、持续交付和持续部署。Jenkins pipeline 架构由以下几个组件组成: 1. Jenkins Master:Jenkins pipeline 架构的核心组件,负责管理所有的节点和流水线。 2. Jenkins Agent:Jenkins pipeline 架构的工作节点,可以在不同的操作系统和环境中运行,执行流水线中的不同阶段。 3. Pipeline Script:Jenkins pipeline 架构的脚本文件,定义了流水线的整个过程和各个阶段的执行步骤。 4. Pipeline Plugin:Jenkins pipeline 架构的插件,提供了丰富的功能和工具,可以实现自动化测试、代码扫描、构建、部署等操作。 Jenkins pipeline 架构流程包括以下几个步骤: 1. 定义 Pipeline Script:在 Jenkins Master 中创建 Pipeline Script,定义流水线的整个过程和各个阶段的执行步骤。 2. 使用 Pipeline Plugin:在 Pipeline Script 中使用 Pipeline Plugin,实现自动化测试、代码扫描、构建、部署等操作。 3. 执行 Pipeline:在 Jenkins Master 中执行 Pipeline Script,将流水线分为不同的阶段,并在不同的 Jenkins Agent 节点上执行。 4. 监控 Pipeline:实时监控 Pipeline 的执行情况,包括每个阶段的执行结果和日志输出。 5. 自动化部署:将最终的代码部署到生产环境中,并进行必要的测试和验证。 Jenkins pipeline 架构可以帮助开发团队实现持续集成、持续交付和持续部署,提高软件开发的效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泥烟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值