深入分析游戏引擎.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
深入分析游戏引擎深入分析游戏引擎

深入分析一款游戏引擎 在分析任何一款游戏引擎之前,我们首先需要明白一个问题,即什么是游戏引擎?作为一个不怎么玩游戏的女孩子,听到“游戏引擎”四个字,立马会猜想:游戏引擎大概就像汽车发动机一样,有了它,整个游戏才具有生命力,汽车失去发动机就只能成为摆设了吧。 根据维基百科等的解释,游戏引擎的概念大致如下:首先,它是一些已经编写好的可编辑的电脑游戏系统或者一些交互式实时图像应用程序的核心组件;其次,它为游戏设计者提供各种编写游戏所需的工具,让游戏设计者能够在一定基础上方便而又快速地开发新产品;再次,游戏引擎包含诸多系统,如渲染引擎、物理引擎、碰撞检测系统、音效脚本引擎、电脑动画、人工智能、网络引擎以及场景管理等等。由于它提供了游戏开发者一套凌驾于硬件层与用户界面之间的可重用的全功能封住,减少了独立开发费用和时间,所以游戏引擎也被称为“游戏中间层”。另外,它也经常被用于其他所需的互动领域,如商业产品介绍、模拟训练以及建筑效果预览等。 通过几天在游戏开发网站上的浏览和学习,我将深刻分析其中一款游戏引擎——OGRE,即Object-Oriented Graphics Rendering Engine(面向对象的图形渲染引擎)。我选择分析介绍该游戏引擎是基于以下几个原因:首先,它具有悠远的历史,是目前开源领域排名第一的图形引擎,具有一定的代表性。其次,它几乎拥有了商业3D渲染引擎的全部特性,甚至在某些方面超越了它们。三、最后,经过老师的推荐,这是一款值得我们去学习和探索的游戏引擎。 在分析该款游戏引擎之前,首先我们要对它的相关概念有一个充分的了解。什么是Ogre?如前所述,它是一款面向对象的图形渲染引擎,也被称为Ogre 3D,是一个用C++开发的面向场景、非常灵活的3D引擎。在这里,我也很困惑Ogre到底属不属于一款游戏引擎。据百度百科等相关资料的显示,它被用于开发游戏,但实际上不是一个游戏引擎。主要原因在于Ogre缺少游戏引擎的一些部分,只能被称为一款图形引擎;如果你想通过它来开发游戏,还需要其他开发库的结合(声音、网络、输入、碰撞处理等)。 综合起来考虑,Ogre还不是个完整的游戏引擎。这个拥有怪物头Logo的图像引擎,为游戏设计者提供了一个很好的开发平台,代码开源,在业内具有赫赫大名。当人们提到有哪些开源游戏引擎时,Ogre的名字是不可能被遗忘的,而且对它的评价也很高。几天前我从ogre3d官网上下载并安装了Ogre。亲身体验过Ogre之后,明显能感受到它的优异特性,尤其是它的那些Demo。与其他的游戏引擎相比,Ogre具有很多优势。首先,作为一款商业引擎,它比gamebryo等其他游戏引擎都具有更强的图形渲染功能。其次,它的代码是免费而开源的,面向对象的,并且高效。再次,它抽象化了不同的API和平台,可以以场景为对象来使用物体,支持多种场景,已经被成功地应用于诸多三维仿真领域,包括网络游戏和三维仿真项目。最后,它能让开发者方便和直接开发基于3D硬件设备的应用程序或游戏。 仔细考究,Ogre有多方面的特点。从平台和3D API支持上来看,它支持多个平台,如Windows、Linux等,并支持从PNG、JPEG或TGA这几种文件中加载纹理,自动产生MipMap,自动调整纹理大小及坐标等。从网格Meshes方面来看,它具有高效的网格数据格式,支持用Bezier样条实现曲面和骨骼动画,并提供插件支持Milkshape 3D导出Ogre本身的.mesh以及.skeleton文件格式。从场景特性方面来看,它可以通过包围体、包围盒来实现视域剪裁,通过二叉树场景管理器插件加速室内场景的渲染,拥有高效率和高可配置性的资源管理器来支持多种场景类型。从特效方面来看,它可以支持Billboard以实现特效,支持天空盒、天空面、天空圆顶等,使用起来非常方便。最后,其他特性方面,支持资源管理和文档加载,支持高效插件体系结构等技术。 现在,我将详细从五个方面来分析Ogre引擎。 Ogre消息机制 消息的产生地即从各种输入设备读取数据。消息在被处理之前会先被发送给Listeners,改变消息处理的默认行为。真正处理消息的地方是EventListener,而消息的代理分发是通过EventDispatcher。从消息处理整个过程来看,程序进入Root::startRendering()后,开始进行消息循环;EventProcessor将队列中所有的消息通过EventDispatchers分发给EventTarget处理。总体过程简化为:InputReader→EventProcessor→EventDispatcher→EventTarget→EventListener。 Ogre文件系统 Ogre文件系统可以分为目录管理和文件管理两大

文档评论(0)

skewguj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档