中文摘要
回顾游戏引擎的历史,认识到游戏引擎已经发展为一套由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中所有的重要环节。引擎是游戏的心脏,决定着游戏的性能和稳定性以及游戏的速度、操纵感,这些与游戏相关的指标都是建立在游戏引擎的基础上。
本范文以开发一个基于DirectX的游戏引擎作为切入点,以增量开发(RAD)的方式打造一个游戏引擎的工具包:D3DUtility。其中包含的功能有:3D模型驱动、3D骨骼模型驱动、角色控制器、地形生成器、绚丽的魔法效果、采用ATL(Active Template Library)编写的游戏脚本解析引擎等等。由于DirectX游戏引擎的脚本采用的XML脚本的形式,考虑到驱动脚本的合法性问题,本人采用XSD(XML Schema Definition)对XML脚本的合法性进行验证,从而最大限度的保证了游戏脚本的合法性。
本文最后利用D3Dutility工具包中的类结合Microsoft DXUT框架编写了一个简单的3D游戏场景。由于采用XML脚本驱动,可以做到整个游戏引擎的框架不变,只要改动相应的游戏脚本,然后就可以重新生成符合要求的游戏场景。不求尽善尽美,但求从中体会到成功后的快乐与满足。
关键词:游戏引擎、DirectX程序设计、XML脚本驱动
目 录
第一章:绪论
1.1 游戏引擎简介………………………………………………………………4
1.2 Microsoft DirectX 简介……………………………………………………4
1.3 组件对象模型COM简介………………………………………………….5
1.4 课题背景及商业价值………………………………………………………6
第二章:基于DirectX的游戏引擎概述
2.1 游戏引擎的开发目标及结构描述…………………………………………6
2.2 Microsoft DXUT框架简介………………………………………………...7
2.3 游戏引擎开发包D3DUtility简介…………………………………………8
2.4 游戏引擎的文件组织结构…………………………………………………9
第三章:一款基于DirectX游戏引擎的实现及主要类库说明
3.1 开发环境………………………………………………………………..…9
3.2 游戏引擎功能描述………………………………………………………..9
3.3 工具包D3DUtility--ID3DObjectFactory、D3DDotXFactory类介绍…..9
3.4 工具包D3DUtility--DirectX3DDotXObject类介绍…………………….11
3.5 工具包D3DUtility--DirectX3DAnimationDriver类介绍……………....13
3.6 工具包D3DUtility--CTerrain类介绍…………………………………...17
3.7 工具包D3DUtility--CRoleController类介绍………………………..….18
3.8 工具包D3DUtility--CCrystalMagic类和CBlazeMagic类介绍……….18
3.9 工具包D3DUtility--CXMLSprite类介绍…………………………….…20
3.10 利用ATL定义CXMLSprite接口……………………………………...….21
3.11 工具包D3DUtility------CXMLScriptSprite类介绍…………………….24
3.12 利用XSD验证XML脚本的合法性…………………………………...27
第四章:基于DirectX游戏引擎的开发包D3DUtility的使用方法简介
4.1 用D3DUtility开发包中的DirectX3DDotObject类驱动.x模型文件…..30
4.2 用D3DUtility开发包开发简单的游戏场景 ……………………………32
第五章:游戏部分场景截图
5.1 DirectX3DDotObject类驱动.x模型文件(运行环境MFC) ……………..33
5.2 DirectX3DAnimationDriver驱动骨骼模型效果(运行环境DXUT)……..33
5.3 利用D3DUtility开发包开发简单的游戏场景截图(运行环境DXUT)…34
总结与展望……………………………………………………………………...…...35
致谢……………………………………………………………………………...…...35
参考文献…………………………………………………….………………….....…36
基于XML脚本驱动的DirectX游戏引擎
链接: https://pan.baidu.com/s/1G9jqQ4nQnllZPyfMzyaYWg 提取码: gtve 复制这段内容后打开百度网盘手机App,操作更方便哦
基于XML脚本驱动的DirectX游戏引擎相关范文