1、 本科毕业论文 (科研训练、毕业设计 ) 题 目: 基于 Torque 游戏引擎的 3D游戏的设计与实现 姓 名: 学 院: 软件学院 系: 软件工程系 专 业:软件工程 专业 年 级: 学 号: 指导教师(校内): 职称: 年 月厦门大学本科毕业论文 1 基于 Torque 游戏引擎的 3D 游戏 的设计与实现 【 摘 要 】 3D 游戏以其特有 3D 效果成为电脑游戏发展一个主要方向和趋势。 3D 游戏 就 是三维游戏, 3D 中的 D 是 Dimensional(维)的缩写。 本文 将 介 绍 3D 编程概念 , 包括: 3D坐标系统、 3D 模型、 3D 形体、 3D模型显示 等 。
2、如何 制作一款 3D 游戏, 首先 要 有一个 优秀的 3D 游戏引擎,并学会如何使用 3D 游戏引擎开发游戏。 本文 中 将 介绍 3D 游戏引擎的原理和整体架构。 项目中 我们 选择 Torque Game Engine 这个 3D 游戏引擎来制作 一款第一人称射击 游戏Cool-man。 本 文 将详细介绍使用 Torque 引擎创建一个 3D 游戏的全部过程。 首先对有关的概念及基础知识进行了介绍,具体阐述了建模策略、建模工具和建模流程。 介绍 Torque 引擎的内置开发工具 的 使用, Torque的脚本语言。接着介绍 Torque 引擎下游戏的整体架构。然后,我们 将整个创作过程
3、分为 具体的模块 , 本文 介绍 其中 的 武器脚本、玩家死亡控制脚本、游戏音效模块的 具体 编程 实现 。游戏编程 是整个 游戏 制作的中心环节, 通过脚本将 按照游戏整体架构把 各个模块统一起来以完成游戏 。 【 关键词 】 3D 游戏引擎 Torque 引擎 脚本 模块 厦门大学本科毕业论文 2 A 3D game based on Torque Game Engine 【 Abstract】 As the proper 3D effect,3D game become the main direction and trend of PC games.3D game namely thr
4、ee-dimensional mode game,the mean of D in 3D is Dimensionals abbreviation.This article introduces the conception of 3D programme,includes: 3D coordinates system,3D model,3D body,3D model display. how to make a 3D game,firstly,need a excellent 3D game engine ,and learn how to use this 3D game engine
5、to develop game.This article introduces 3D game engines elements and structure. In this item,we choose Torque Game Engine to make the first person shoot game called Cool-man.This article detailedly introducesuse Torque engine to make a 3D games all process.We make an introduction to relevant concept
6、s and rudimentary knowledge at first,and explains modeling tactics, modeling tool and modeling procedure specifically.Introduce how to use the tools within Torque game engine,and the script language of Torque.then,introduces the whole structure of game with Torque.Then,The whole creation course is d
7、ivided into matrial parts.This article introduces how to programme:weapon script,the control playss death script and the sound model.Throw the scripts of game unite every model to becom one game following the game whole structure. 【 Key words】 3D game engine Torque Game Engine Script Module厦门大学本科毕业论
8、文 3 目录 引言 . 7 第一章 3D 编程概念 . 8 1.1 3D 概念 . 8 1.1.1 坐标系统 . 8 1.1.2 3D 模型 . 10 1.1.3 3D 形体 . 12 1.2 3D 模型显示 . 13 1.2.1 变换 . 13 1.2.2 渲染 . 15 1.2.3 场景图 . 19 1.2.4 3D 音频 . 19 第二章 3D 游戏引擎及 Torque 引擎 . 21 2.1 3D 游戏引擎简介 . 21 2.2 Torque 引擎简介 . 22 2.3 Torque 引擎的脚本语言 . 22 2.4 Torque 相关的软件工具 . 23 2.5 Torque 引擎的
9、 demo 程序 . 24 2.6 Torque 引擎下的游戏架构 . 28 2.7 Torque 引擎的优势 . 29 第三章 用 Torque 引擎开发我们的 3D游戏 . 31 3.1 游戏制作的模块分类 . 31 3.2 游戏编程 . 31 3.2.1 游戏 架构 . 32 3.2.2 武器脚本 . 35 3.2.3 玩家死亡控制脚本 . 37 3.2.4 游戏音效模块 . 38 结论 . 42 致谢语 . 43 参考文献 . 44 厦门大学本科毕业论文 4 附 录 . 45 厦门大学本科毕业论文 5 Contents Introduction. 8 Chapter 1 Conspec
10、tus of 3D programming . 9 1.1 Conception about 3D . 9 1.1.1 Reference frame . 9 1.1.2 3D modles . 10 1.1.3 3D figures . 12 1.2 Display of 3D models . 13 1.2.1 Transforming of 3D . 13 1.2.2 Rendering of 3D . 15 1.2.3 Scenes of 3D . 19 1.2.4 3D-Audio . 19 Chapter 2 3D Game Engine and Torque Game Engin
11、e . 31 2.1 introduction to 3D Game Engine . 23 2.2 introduction to Torque Game Engine. 24 2.3 Basic scripts of Torque Engine . 25 2.4 Software tool about Torque. 25 2.5 The demo of Torque Game Engine . 26 2.6 The structure of game under Torque . 28 2.7 The advantage of Torque Game Engine. 29 Chapter
12、 3 Developing of our game with Torque Game Engine . 32 3.1 Module of the whole game developing . 31 3.2 Module of game developing . 33 3.2.1 Game Structure . 32 3.2.2 Weapon script. 32 厦门大学本科毕业论文 6 3.2.3 control of player death script . 32 3.2.4 Game Sound Module . 38 Conclusion . 42 Thanks. 43 Refe
13、rrence Literature . 44 Appendix. 45 厦门大学本科毕业论文 7 引言 随着个人电脑的普及和计算机网络的迅猛发展,电脑游戏越来月多的进入千家万户。电脑游戏迅速成为人们一种不可或缺的娱乐方式 ,游戏产业成为超越电影的朝阳产业。 3D 游戏以其特有 3D 效果成为电脑游戏发展一个主要方向和趋势。 3D 游戏 是三维游戏,3D 中的 D 是 Dimensional(维)的缩写。三维游戏中的点的位置由三个坐标决定的。客观存在的现实空间就是三维空间,具有长、宽、高三种度量。三维游戏 (3D 游戏 )是相对于二维游戏 (2D 游戏 )而言的,因其采用了立体空间的概念,所以更
14、显真实,而且对空间操作的随意性也 较强。也更容易吸引人。 3D 编程概念包括: 3D 坐标系统、 3D 模型、 3D 形体、 3D 模型显示。 在游戏 开发中,核心的技术是架构游戏引擎,它是决定游戏质量的关键。游戏引擎是指为制作游戏需要而事先编制好的一系列同游戏初始化、图形处理、角色控制、碰撞检测等有关的 API 函数,它相当于游戏程序员的开发工具包,有些商业化的游戏引擎同时还提供了关卡和角色编辑器。 Torque 引擎是由 Garagegames 公司出品的一款 3D游戏引擎。 我们 使用 Torque 引擎 制作一款 3D 第一人称射击游戏 COOL-MAN。 我们学习创建一个 3D游戏
15、的全部过程 ,从游戏架构,到游戏各模块制作。我们将学习如何使用 Torque 引擎制作游戏,为我们游戏,编写脚本、制作模型、制作场景、制作音效。 厦门大学本科毕业论文 8 第 一 章 3D 编程概念 1.1 3D概念 在身边的现实世界中,我们感知对象时可以在 3 个方向 (或者维度 )上进行度量。典型的是我们说它们具有高度、宽度和深度。当我们将对象在计算机屏幕上表现出来时,我们必须了解这样一个事实,即人们感知对象的维度其实只有两个:从屏幕顶部到底部的高度和从屏幕左边到右边的宽度。 在创建 游戏时, 大部分的渲染工作都是使用 Torque Game Engine 来完成的。但是如果能对这一部分所
16、描述的技术有个充分的理解,这会对您以后在设计和构建自己的模型或写代码来实时操纵模型而需要作出一些决定时起到一个引导的作用。 因此,有必要将第三维 深度模拟到屏幕中去。我们把这种对真实的 (或者想象出来的 )对象在屏幕上的三维 (3D)模拟称为三维模型。为了使这些模型在视觉上更具真实性,我们会增加一些视觉特征,比如着色、阴影和纹理。计算 3D 模型外观的整个过程 将 3D 模型转化成可以在二维屏幕上描绘出来的实体,然后实际显示结 果图像 称为渲染。 1.1.1坐标系统 当说到对象在各个维度上的量度时,我们使用被称为坐标的数字分组来标志对象的各个顶点 (角点 )。我们通常用变量名 X,Y 和 Z来
17、代表各个坐标组 (或者三元组 )中的 3个维度。组织坐标的方式很多,这些方法称为坐标系统。 我们必须确定让哪一个变量来代表哪一个维度 高度、宽度或深度,以及以何种顺序引用这 3 个维度。然后我们还需要确定这些维度的原点放在哪里,以及原点与对象的相对关系。一旦准备好这些事情,我们的坐标系统也就定义好了。 我们在考虑 3D 对象时,每一个方向用一个坐标轴表示。坐标 轴是具有无穷长度的且通过原点的直线。宽度 (或者从左到右 )通常是 X轴,高度 (或者从上到下 )通常是 Y轴,还有深度 (或者从近到远 )通常是 Z 轴。使用这种结构,我们就可以得到一个如图 1-1 所示的规则的 XYZ-轴坐标系统。
18、 图 1-1 XYZ-轴坐标 现在,当我们讨论一个孤立的对象时,它所占据的 3D空间被称为对象空间。在对象空间中, X、 Y、 Z坐标全为 0 的点就是对象的几何中心。对象的几何中心通常是位于对象的内部。如果 X 轴的正向在右边、 Y轴的正向在上边、 Z轴的正向背离您指向远处,这样就可以看到图厦门大学本科毕业论文 9 1-2中的坐标系统,它被 称为左手坐标系统。 图 1-2 Y轴垂直的左手坐标系统 Torque GameEngine 使用了一种稍微有点不同的坐标系统 右手系统。在这种系统中,Y 轴和 Z 轴的方向和我们在左手系统中看到的一样,而 X 轴的方向相反。在被有些人称为Computer
19、 Graphics Aerobics 的系统中,我们可以用拇指、食指和中指非常容易地表示出所使用的右手系统 (如图 1-3 所示 )。记住,使用这种技术时,拇指总是代表 Y 轴,食指代表Z轴,而中指则代表 X 轴。 图 1-3 Y 轴垂直的右手坐标系统 在 Torque 中,我们也 会用另一种稍微有点不同的方式来规定系统的方向: Z轴是上下方向, X 轴差不多是从左到右,而 Y 轴差不多是从近到远 (如图 1-4 所示 )。其实 , “差不多”表示的意思是以从上向下看地图的方式来指定左边和右边。这时地图的上方指向北,左边和右边 (X 轴正向和 X轴负向 )分别是指东和西。这样就可以知道 Y 轴正向指向北, Y轴负向指向南。不要忘记了, Z 轴正向是指向上面,而 Z 轴负向是指向下面的。这种右手系统是使用地图从上向下观察地形时指定坐标轴方向的。将 3 个坐标轴的原点指定到地图上的一个特殊位置,再用刚才描述的方法为坐标系统规定方向,这 样,我们就定义好了整个场景空间 (world space)。 图 1-4 Z 轴垂直的右手坐标系统 既然有了坐标系统,我们就可以使用坐标三元组来指定对象上或者空间中的任何一个位置了,比如 (5, 3, 2)(如图 1-5 所示 )。转换一下以后,这可以解释为 X=5, Y= 3, Z= 2。 3D 坐标的三元组总是以 XYZ 的格式来指定的。