基于通用组件的3D游戏引擎TinyEngine的架构设计与实现

被引量 : 0次 | 上传用户:Monkeysct
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
3D游戏引擎通过封装游戏中的通用技术和提供统一的接口,形成了一个面向游戏应用程序的基础库。它包括了场景渲染、物理模拟、资源管理等丰富的模块,是一个十分庞杂的系统。将这样的系统架构在通用组件之上,不但可以利用通用组件带来的特性,还能使游戏引擎有更稳定的基础。本文首先回顾了游戏引擎的发展历史,分析了现有3D游戏引擎的架构。然后在通用组件的基础上设计并实现了一个比较完整的3D游戏引擎TinyEngine,在引擎设计中主要做了以下几个方面的工作:整体架构设计:将游戏引擎划分为三个子系统,其中游戏视图和游戏逻辑位于上层,游戏基础位于下层。这样的划分将玩家交互和游戏逻辑相分离,同时游戏基础隔离了特定操作系统与上层的游戏视图和游戏逻辑,实现了引擎的平台无关性。游戏视图设计:游戏视图负责与玩家的交互,它接收经游戏基础转换的输入消息并发送事件供游戏逻辑进一步处理,利用统一的接口渲染图形用户界面(GUI)和3D场景。基于DXUT的GUI提供了丰富的图形界面效果,利用场景树高效地管理3D场景。游戏逻辑设计:游戏逻辑负责管理游戏世界的状态和角色,它处理游戏视图发送的输入事件,并由游戏视图定时渲染。游戏角色作为游戏逻辑的核心,其属性组件定义在XML文件中,实现了数据驱动(data-driven)的设计。游戏物理通过封装Bullet引擎管理角色的物理属性和碰撞检测,为游戏增加了真实感。游戏基础设计:游戏基础建立在操作系统和通用组件之上,并为上层提供必要的工具支持。其中包括了基于ZLib的资源管理器、基于FastDelegate的游戏事件、基于Lua和LuaPlus的游戏脚本等模块。最后,本文运用TinyEngine引擎开发了一款小游戏,该游戏验证了引擎的主要功能,展示了其所具有的易用性和可扩展性,并在总结与展望中指出了下一步的研究方向。
其他文献
随着城市化进程的加快,国内主要城市地铁建设快速发展,各大城市地铁运营网络逐步形成,地铁客流网络化特征日趋明显。与过去的单条或少数几条地铁线路的客流特征相比,网络化运营地
如果从理想人格,阶级基础,历史背景等角度重新厘定儒与侠的关系,不难发现二者在诸多方面有着很大的趋同性、融合性。儒侠互补的根本原因是儒家知识分子对自身人格缺陷的反思
住房是人类生存、发展和享受所必需的基本要素之一,是人类的基本生活消费资料。一般情况下,一个国家的社会经济发展水平决定着其住宅发展状况和人民的居住水平。我国住房制度改
<正> 读完《塔铺》,为之一震,有点凉水淋头的感觉,仿佛从灵魂深处唤起了非常渺远的记忆,又象从喧嚣拥挤的、到处闪着金属和高大建筑冷光的都市,回到了阔别已久的故园,回到一
目的:探讨癫痫中医证素与临床的相关性以及丹参滴丸的药效学。方法:回顾性分析癫痫患者75例,自拟癫痫症候调查表对所选病历进行统计分析,并临床应用抗癫痫药物+丹参滴丸治疗
综述了6大类建筑外墙隔热保温涂料,阐述了各类外墙隔热保温涂料的工作原理、涂料性能及国内外研究进展,并对建筑外墙隔热保温涂料的发展做了展望。
<正>一王国维说:"古来新学问之起,大都由于新发见之赐。"①20世纪对于先秦文献研究来说,可谓是新资料层出不穷的时代。从世纪之初王懿荣发现甲骨文开始,甲骨文、青铜器铭文、
遥感是通过传感器对远距离的物体进行探测,记录其辐射和反射特性信息,通过对物体特性信息的分析,来研究判定地物的位置、形状、性质以及周围环境相互作用的一门技术。随着社会经
图饰设计对产品外观造型具有重要的影响,优秀的图案装饰可以为产品外观起到画龙点睛的作用,而现有产品图饰设计多为平面图案。应用现代设计技术,自动生成美观、复杂的实体装饰图
近年来,我国各界对大遗址保护的呼声日益高涨,对大遗址的保护已经上升到衡量城市历史文化水平的高度。为此,政府对大遗址保护项目的投入不断加大,出台《大遗址保护十一五规划》,实