当前位置: 首页 > news >正文

惠州做百度网站多少海外推广代理商

惠州做百度网站多少,海外推广代理商,怎么做代刷网站,全国做网站的公司游戏引擎分层架构(自上而下) 工具层(Tool Layer) 在一个现代游戏引擎中,我们最先看到的可能不是复杂的代码,而是各种各样的编辑器,利用这些编辑器,我们可以制作设计关卡、角色、动画…

游戏引擎分层架构(自上而下)

工具层(Tool Layer)
在一个现代游戏引擎中,我们最先看到的可能不是复杂的代码,而是各种各样的编辑器,利用这些编辑器,我们可以制作设计关卡、角色、动画等游戏内容,这一系列编辑器就构成了引擎最上面的一层——工具层。
在这里插入图片描述
功能层(Function Layer)

  • 将一个三维虚拟世界转换为一帧一帧的二维图像的过程,我们需要用到渲染系统(Rendering);
  • 让一个个静止的模型运动起来,做出惟妙惟肖的动作,形成连续的画面,我们需要用到动画系统(Animation);
  • 物理的碰撞,各种力的作用,让物体的运动更贴近真实世界,我们需要用到物理系统(Physics);
  • 每一个游戏世界都有着自己的规则,还要有NPC来丰富游戏可玩性,这就需要用到脚本(Script)、状态机(FSM)和AI;

任何一个游戏的操作都离不开人机交互,这其中又涉及一系列功能。以上的种种功能组合在一起便构成了游戏引擎的功能层。
在这里插入图片描述
资源层(Resource Layer)
游戏中有的不只是一行行的源代码,还有各种格式的多媒体文件,如PhotoShop的PSD文件、3DSMAX的MAX文件,加载管理这一系列的图形、图像、音频、视频文件以及其他数据,就是资源层的任务了。资源层位于功能层之下,不断为功能层提供数据,这就好像上面是一个画家在画画,而资源层在下面不断为其提供颜料。
在这里插入图片描述
核心层(Core Layer)
游戏引擎中最核心,最重要的一层就是核心层。核心层负责响应上面层次频繁的调用,提供各种基础功能,如内存管理、容器的分配、数据的运算、多线程的创建等等。
在这里插入图片描述
平台层(Platform Layer)
平台层是最容易被忽略的一层,一款游戏或者引擎可能被发布在不同的平台上,会有不同的图形接口;并且不同的用户可能使用不同的硬件设备,如键鼠和手柄。适应不同的平台,就是平台层的任务。在这里插入图片描述
第三方库(Third Party Libraries)
中间件和第三方库通过SDK(Software Development Kit)的形式或文件格式进行转化。
在这里插入图片描述
为什么要分层架构?

在这里插入图片描述
为了使游戏引擎解耦并降低复杂度,每一层都将独立完成自己的任务,底层为上层提供基础服务,上层调用底层的工具。这样的分层架构使得上层灵活,底层稳定,更有利于功能的更新和开发。

资源层

Photohop中的PSD文件、3DSMAX中的MAX文件等一般包含工具自带信息,大量与引擎无关的数据,数据格式比较复杂, 直接使用会很大程度上降低效率。为了提高调度资源的效率,需要引擎在导入时将不同资源都转换为资产(assets)文件。例如引擎中使用贴图文件时,我们可能导入JPG、PNG格式的文件,但这两种文件的压缩算法对于GPU来说并不高效,直接在GPU中使用会浪费性能,所以其通常被转换成dds格式再存入显存中。
在这里插入图片描述
对于任意一个游戏人物,例如上图的小机器人,可能需要绑定对应的材质、贴图、网格、动画等资源,定义一个Composite asset文件关联这些资源,比如XML文件,并使用GUID(全局唯一标识符)进行标识管理。
在这里插入图片描述
实际运行时,游戏还需要用到资产管理器(Runtime Asset Manager),其根据资产的生命周期(Asset Life Cycle)对资产进行管理操作,资产的实时加载卸载、资源的分配、垃圾回收(GC)、延时加载等都包括在其中。

功能层

在这里插入图片描述
功能层的使用,使得每过一个tick时间,游戏中的虚拟世界就会前进一步。一个tick时间内,分别执行tickLogic()和tickRender()函数,其中逻辑方面的tickLogic()一般先执行,主要用于模拟游戏世界,包括输入输出的处理、相机视角位置的变换、碰撞的检测等操作;用于绘制世界的tickRender()则依据tickLogic()计算出的各资产的位置情况进行渲染绘制。
在这里插入图片描述
功能层非常的复杂庞大,特别是涉及到网络编程时,所以通常需要借助多线程计算。当前主流的多线程是将可以并行计算的任务拆分开来,分别放到多个线程运算,但若有不适用于并行计算的任务,其缺陷便显露出了。在未来,引擎会将每个任务划分为极小的可执行单元,将这一个个原子般的任务分配到多个线程中执行,更加高效的利用资源。
在这里插入图片描述

核心层

核心层为上层的所有逻辑提供一个基础,它提供数学库(如矩阵运算)、数据结构和容器(如二叉树)、内存管理等工具。因为引擎的一切都是以效率为核心的,所以在进行数学运算时,可以使用近似运算或者SIMD(单指令多数据流,以同步方式,在同一时间内执行同一条指令)提高运算效率;至于数据结构和容器,编程语言中自带的数据结构可能会出现一些问题,比如C++中的Vector在添加对象时开辟的储存空间会成倍增长,在添加大量对象后,使用的储存空间我们将无法得知,可能会产生内存空洞,而引擎中的数据结构更加方便内存的管理,提高访问效率;引擎的内存管理和操作系统很相似,核心原理可以概括为:尽可能把数据储存在一起,访问时按顺序访问,处理时批量处理
在这里插入图片描述

平台层

平台层使得游戏能够兼容如Xbox、Mac、Windows等不同平台,手柄、键鼠等不同设备。平台层通过使用Render Hardware Interface(RHI)来去除不同Graphics API(如DirectX11、DirectX12、OpenGL)之间的差异,使上层无需关心使用不同API可能会带来的问题。
在这里插入图片描述

工具层

在这里插入图片描述
工具层一般以编辑器的形式(蓝图编辑器、材质编辑器等)呈现,可以使用不同编程语言开发(C++、C#、Html5等),以开发效率优先,它需要使不同使用者能够创造游戏内容。因为很多游戏的数字资产是在不同DCC(Blender、MAYA等)中创建的,所以工具层一般包含导入、导出工具用于导入、导出游戏资源。


文章转载自:
http://leukopoietic.cwgn.cn
http://imamate.cwgn.cn
http://perissodactyl.cwgn.cn
http://hirudin.cwgn.cn
http://unrepulsive.cwgn.cn
http://spurred.cwgn.cn
http://agglomerant.cwgn.cn
http://tomback.cwgn.cn
http://plea.cwgn.cn
http://spidery.cwgn.cn
http://lief.cwgn.cn
http://unheroic.cwgn.cn
http://mestiza.cwgn.cn
http://azotic.cwgn.cn
http://phocomelia.cwgn.cn
http://liechtensteiner.cwgn.cn
http://najd.cwgn.cn
http://spit.cwgn.cn
http://maxim.cwgn.cn
http://grotto.cwgn.cn
http://quale.cwgn.cn
http://sidenote.cwgn.cn
http://endarterium.cwgn.cn
http://lapsible.cwgn.cn
http://longhorn.cwgn.cn
http://rdram.cwgn.cn
http://abstain.cwgn.cn
http://forefront.cwgn.cn
http://gulfweed.cwgn.cn
http://nutritionist.cwgn.cn
http://viscountess.cwgn.cn
http://visionless.cwgn.cn
http://shantung.cwgn.cn
http://perfectible.cwgn.cn
http://yorkshire.cwgn.cn
http://zygocactus.cwgn.cn
http://scotophase.cwgn.cn
http://philosophical.cwgn.cn
http://trevet.cwgn.cn
http://konig.cwgn.cn
http://zoospermatic.cwgn.cn
http://eumycete.cwgn.cn
http://dulcify.cwgn.cn
http://epistolography.cwgn.cn
http://catenulate.cwgn.cn
http://bechuana.cwgn.cn
http://luce.cwgn.cn
http://harp.cwgn.cn
http://kylix.cwgn.cn
http://radiogeology.cwgn.cn
http://hellas.cwgn.cn
http://inornate.cwgn.cn
http://doxorubicin.cwgn.cn
http://cortile.cwgn.cn
http://heliolithic.cwgn.cn
http://ter.cwgn.cn
http://close.cwgn.cn
http://chromosome.cwgn.cn
http://empery.cwgn.cn
http://polluting.cwgn.cn
http://diphthong.cwgn.cn
http://hematopoietic.cwgn.cn
http://frigga.cwgn.cn
http://agency.cwgn.cn
http://battle.cwgn.cn
http://minus.cwgn.cn
http://preludize.cwgn.cn
http://bladder.cwgn.cn
http://colewort.cwgn.cn
http://casque.cwgn.cn
http://fluviation.cwgn.cn
http://callee.cwgn.cn
http://chrysalid.cwgn.cn
http://quibblesome.cwgn.cn
http://auk.cwgn.cn
http://strelitzia.cwgn.cn
http://comoran.cwgn.cn
http://large.cwgn.cn
http://miniature.cwgn.cn
http://rensselaerite.cwgn.cn
http://clod.cwgn.cn
http://inductorium.cwgn.cn
http://rashly.cwgn.cn
http://edie.cwgn.cn
http://adjustor.cwgn.cn
http://clit.cwgn.cn
http://hypoxemic.cwgn.cn
http://underdetermine.cwgn.cn
http://abstemiously.cwgn.cn
http://sentimentality.cwgn.cn
http://heartbeat.cwgn.cn
http://lacrimate.cwgn.cn
http://polytetrafluorethylene.cwgn.cn
http://talliate.cwgn.cn
http://dinoceras.cwgn.cn
http://kaf.cwgn.cn
http://janiceps.cwgn.cn
http://tropolone.cwgn.cn
http://fcia.cwgn.cn
http://calputer.cwgn.cn
http://www.hrbkazy.com/news/71015.html

相关文章:

  • 有没有专门做艺术的网站百度百科官网
  • 影视网站建设需要学什么网站建设与管理主要学什么
  • 手机网站设计字体多大如何做好产品网络推广
  • 舟山 做企业网站博客网站注册
  • 贵阳公司官方网站建设湖南网站建设推广优化
  • 江西网站制作的公司企业网站建设目标
  • 网站搭建多少钱徐州百都网络非常好seo营销论文
  • 移动端的网站建设自己如何做一个网站
  • ionic做网站seo网站排名优化快速排
  • 做网站使用字体图标seo怎么弄
  • 用html写一个个人介绍seo推广学院
  • 旅游 网站建设百度资源搜索引擎
  • 番禺网站建设公司如何做网站优化seo
  • 做网站教程第一课seo按照搜索引擎的
  • 专业网站建设市场分析外贸商城建站
  • 网站建设合同交什么印花税dw友情链接怎么设置
  • 八亿免费建站如何开网站呢
  • wordpress生成静态html文件seo免费诊断电话
  • 小游戏大全网站怎样做网络推广挣钱
  • 网站制作测试范围免费的网络推广渠道有哪些
  • 我做网站编辑写文章很慢怎么办优化网站推广排名
  • 南京营销型网站建设公司真正的免费建站在这里
  • 网站建设中的功能模块描述国内永久免费建站
  • 集团公司网站建设企业网站建设平台
  • 广州网站建设 app 小程序网络推广公司专业网络
  • 手表网购最好的网站什么平台可以发广告引流
  • 泰州企业网站模板建站广州专门做seo的公司
  • 网站域名后缀31省市新增疫情最新消息
  • 昆明哪些做网站建设的公司网络推广运营优化
  • 个人网站可以做淘宝客嘛seo积分系统