Linux下基于OgreNewt的游戏场景构建与实现---毕业论文

上传人:wo7****35 文档编号:55274039 上传时间:2018-09-26 格式:DOC 页数:44 大小:3.73MB
返回 下载 相关 举报
Linux下基于OgreNewt的游戏场景构建与实现---毕业论文_第1页
第1页 / 共44页
Linux下基于OgreNewt的游戏场景构建与实现---毕业论文_第2页
第2页 / 共44页
Linux下基于OgreNewt的游戏场景构建与实现---毕业论文_第3页
第3页 / 共44页
Linux下基于OgreNewt的游戏场景构建与实现---毕业论文_第4页
第4页 / 共44页
Linux下基于OgreNewt的游戏场景构建与实现---毕业论文_第5页
第5页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Linux下基于OgreNewt的游戏场景构建与实现---毕业论文》由会员分享,可在线阅读,更多相关《Linux下基于OgreNewt的游戏场景构建与实现---毕业论文(44页珍藏版)》请在金锄头文库上搜索。

1、摘摘 要要随着 CPU 运算能力提升和独立显卡渲染 3D 图形的加速,3D 游戏已成为游戏开发的主流。游戏公司一般都在 Windows 下购买商用的或者内部自主研发的游戏引擎作为游戏开发的框架,这对于游戏开发爱好者来说代价过于昂贵。然而免费的游戏引擎文档不齐全,难以搭建起编程平台。本文将介绍如何在 Linux 下利用Ogre 图形渲染引擎、Newton 物理引擎和连接这两个引擎的 OgreNewt 库作为工具,开发出两种不同的 3D 游戏场景。场景的实现具有良好的移植性,只要有必要的库文件,也可在 Windows 下运行。本文首先介绍了编写游戏当中需要用到的与 Ogre、Newton 和 Og

2、reNewt 的相关技术,然后对这两个游戏场景进行了需求分析和整体框架的建模,接着编写Makefile 脚本把这三个源码的头文件和链接库合成一个“完整”的游戏引擎,最后讲解了具体的实现细节。具体的实现中用了多态、继承和模板等技术降低了模块间的耦合性;使用单件模式和工厂模式实现了统一实例化和管理实体,降低了代码的复杂性。关键词:关键词:游戏引擎;3D 游戏;游戏场景Abstract3D games have become the main stream of game development with the enhancement of the CPU computing and the ac

3、celeration of the 3D graphics rendering by discrete display card. It is too expensive for the lovers of game development that most of game engines today are ready-made to be bought or developed within the independent research. However, the documents of the free game engines are not complete that it

4、is hard to set up the programming platform.This paper introduced how to develop two different types of 3D game scenes racing and shooting games using three engines graphics rendering engine Ogre, physics engine Newton and OgreNewt library that connects these two as the development tool under Linux o

5、perating system.Firstly, the Paper introduced the related technologies to Ogre, Newton and OgreNewt used in the game development. Then, requirement analysis and the whole framework modeling of the two game scenes are presented. After that, a Makefile script fusion of these three head files and link

6、libraries made a complete game engine. Finally, the Paper introduced the concrete realization details using polymorphism, inheritance template and other technologies to decreases the degree of coupling between different modules and design patterns such as Singleton, Factory to integrate the instanti

7、ations and manage entities that reducing unnecessary code.Key words: Game Engine; 3D Game; Game Scene目目 录录第一章第一章 引言引言 .11.1 研究背景研究背景 .1 1.2 主要研究内容主要研究内容 .1 1.3 论文结构论文结构 .2第二章第二章 相关技术相关技术 .32.1 Ogre 图形渲染引擎图形渲染引擎3 2.1.1 程序入口 .3 2.1.2 资源管理器 .4 2.1.3 场景管理器 .4 2.1.4 场景节点 .5 2.1.5 实体 .6 2.2 Newton 物理引擎物理引

8、擎.7 2.2.1 物理引擎 .7 2.2.2 轴 .7 2.2.3 作用力回调函数 .8 2.2.4 力矩 .9 2.2.5 刚体和碰撞体 .9 2.3 OgreNewt.10 2.4 设计模式设计模式 .10第三章第三章 游戏场景的需求分析和总体设计游戏场景的需求分析和总体设计 .123.1 赛车场景赛车场景 .12 3.1.1 项目需求 .12 3.1.2 总体设计 .12 3.2 射击场景射击场景 .13 3.2.1 项目需求 .13 3.2.2 总体设计 .13第四章第四章 游戏场景的框架及实现游戏场景的框架及实现 .154.1 游戏编程平台的搭建游戏编程平台的搭建 .15 4.1.

9、1 游戏开发环境的搭建 .15 4.1.2 自动编译脚本 .15 4.2 实体基类设计实体基类设计 .16 4.3 赛车场景设计赛车场景设计 .17 4.4 射击场景设计射击场景设计 .22 4.4.1 实体容器类设计 .22 4.4.2 队伍类设计 .234.4.3 特殊单件模式类 .24 4.4.4 管理器基类 .25 4.4.5 死亡实体管理器与队伍管理器 .26 4.4.6 实例化实体的工厂类 .28 4.4.7 实体的生命周期 .28 4.4.8 策略管理器 .29第五章第五章 游戏场景的运行结果游戏场景的运行结果 .315.1 赛车场景赛车场景 .31 5.2 射击场景射击场景 .

10、32第六章第六章 总结与展望总结与展望 .346.1 论文总结论文总结 .34 6.2 工作展望工作展望 .34参考文献参考文献 .36致致 谢谢 .38ContentsChapter 1 Introduction .11.1 Study Background1 1.2 Main Study Content .1 1.3 The Structure of This Paper2Chapter 2 Related Technology.32.1 Ogre Graphics Rendering Engine.3 2.1.1 Program Entry.3 2.1.2 Resources Manag

11、er.4 2.1.3 Scenes Manager4 2.1.4 Scene Node.5 2.1.5 Entity.6 2.2 Newton Physics Engine.7 2.2.1 Physics Engine7 2.2.2 Joint.7 2.2.3 Force Callback Function.8 2.2.4 Torque.9 2.2.5 Rigid Body and Collision Body9 2.3 OgreNewt.10 2.4 Design Paterns.10Chapter 3 Analysis and Design for The Game Scene.123.1

12、 Racing Scene12 3.1.1 Project Requirements12 3.1.2 Design.12 3.2 Shooting Scene 13 3.2.1 Project Requirements13 3.2.2 Design.13Chapter 4 Framework and Implementation for The Game Scene .154.1 Build Game Programming Platform 15 4.1.1 Build Game Development Enviroment 15 4.1.2 Script for Automatically

13、 Compile 15 4.2 Design of The Base Class16 4.3 Racing Scene Design.17 4.4 Shooting Scene Desing22 4.4.1 Design of The Container Class.22 4.4.2 Design of The Team .23 4.4.3 Special Singleton Pattern24 4.4.4 Base Manager Class25 4.4.5 Dead Body Manager and Team Manager.264.4.6 Factory Class for Instan

14、tiated Entities28 4.4.7 Entity Life Cycle.28 4.4.8 Strategy Manager29Chapter 5 The Running Results of Game Scenes .315.1 Racing Scene31 5.2 Shooting Scene 32Chapter 6 Summary and Future work346.1 Summary of This Paper .34 6.2 Improvements and Future Work34References.36Acknowledgements38Linux 下基于 Ogr

15、eNewt 的游戏场景构建与实现1第一章第一章 引言引言1.1 研究背景研究背景3D 游戏就是三维游戏, 三维游戏中的点的位置由三个坐标决定的。客观存在的现实空间就是三维空间,具有长、宽、高三种度量。三维游戏(3D 游戏)是相对于二维游戏(2D 游戏)而言的,因其采用了立体空间的概念,所以更显真实,而且对空间操作的随意性也较强,也更容易吸引人。3D 游戏是使用空间立体计算技术实现操作的游戏。从编程实现角度来说游戏基础模型(游戏的人物,场景,基础地形)是使用三维立体模型实现的,游戏的人物角色控制是使用空间立体编程算法实现的,这种游戏称作 3D 游戏。3D 游戏比 2D 游戏多了一个维度,开发难度

16、也就提高了许多。如果从底层的 API 开始开发,代码将不可复用开发效率极低,因此很多游戏公司都直接购买现成的或者内部自主开发的游戏引擎。引擎相当于游戏的框架,框架打好后,关卡设计师、建模师、动画师只要往里填充内容就可以了。因此,在 3D 游戏的开发过程中,引擎的制作往往会占用非常多的时间,马克思佩恩的 MAX-FX 引擎从最初的雏形 Final Reality 到最终的成品共花了四年多时间,LithTech 引擎的开发共花了整整五年时间,耗资700 万美元。对于游戏开发爱好者来说,购买或者开发游戏引擎代价过于昂贵。因此他们往往选择开放源码1的游戏引擎,开放源码软件是指保证所有人可以得到这些代码,没有一个公司可以完全独占它。但很多开源软件文档不齐全,这提升了游戏开发平台搭建的难度,因此利用免费的源码搭建起编程平台是游戏开发爱好者开发游戏的关键。1.2 主要研究内容主要研究内容赛车游戏实现的难点:获取赛车与当前道路的关系,给赛车添加物理特性给人一种真实感;射击游戏实现的难点:射击类游戏中有大量的实体,如何管理这第一章 引言2些实体是游戏开发的难点。本文在 Linux 下以

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号