【毕业学位论文】(Word原稿)基于DirectX的3D赛车游戏的设计与实现-软件制作_第1页
【毕业学位论文】(Word原稿)基于DirectX的3D赛车游戏的设计与实现-软件制作_第2页
【毕业学位论文】(Word原稿)基于DirectX的3D赛车游戏的设计与实现-软件制作_第3页
【毕业学位论文】(Word原稿)基于DirectX的3D赛车游戏的设计与实现-软件制作_第4页
【毕业学位论文】(Word原稿)基于DirectX的3D赛车游戏的设计与实现-软件制作_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南大学毕业论文 第 业设计 (论文 ) 设计 论文题目 : 3D 赛车游戏的设计与实现 湖南大学毕业论文 第 D 湖南大学毕业论文 第 3D 赛车游戏的设计与实现 摘 要 3D 赛车游戏是整个游戏行业的重要组成, 随着 游戏行业 的快速 发展, 2D 游戏的市场份额已经大幅下降,目前 3D 游戏越来越受广大玩家的喜爱,特别是 3D 赛车游戏,一直是玩家的宠儿 。 本文实现 了一款 赛车游戏 ,该游戏 分为场景渲染、赛车渲染、天空渲染、赛车在场景中的漫游、赛车的地形跟踪系统和碰撞检测 等 六部分。场景渲染、赛车渲染和天空渲染构成游戏的渲染画面, 基于 术 实现。 赛 车在场景中的漫游、赛车的地形跟踪系统和碰撞检测构成了游戏的主要逻辑。 本文在一款游戏引擎的基础上, 通过将 第三方软件制作的游戏场景 模型 和 赛车 模型导入到游戏中,完成 对 游戏 的初始化 ; 使用天空盒技术实现 一 个比较逼真的天空 ; 通过输入模块完成对赛车 的 控制 ; 通过摄像机类来 实现 漫游效果, 通过汽车类来实现汽车的刚体运动,通过地形 跟踪 保持 汽车始终 位于地形之上 来避免赛车穿透地形 ,通过碰撞系统使汽车始终行驶在赛道上 ,再将这些整合形成 了 三维赛车游戏。 论文最后对全文进行总结,并对后续工作进行了展望。 关键词: 三维 , 车 , 游戏 , 地形碰撞检测 湖南大学毕业论文 第 of D D is an of of D D D is s We a be up of up of of on a a to to o to a to of of to of of to to to on to a 3D 3D, 录 湖南大学毕业论文 第 摘 要 . . 绪论 . 1 题来源、背景和目的 . 1 课题相关的国内外研究综述 . 2 文的内容安排 . 4 2 戏引擎和游戏结构 . 5 述 . 5 戏引擎 . 6 戏引擎概述 . 6 用的游戏引擎结构 . 6 戏结构 . 8 章小结 . 9 3 游戏的汽车类模块、场景渲染、输入控制 . 10 入检测和响应 . 10 景渲染 . 10 空盒技术 . 11 型运用 . 12 照技术 . 15 车 类模块 . 15 章小结 . 15 4 赛车的碰撞检测和测试 . 17 撞检测的相关技术 . 17 围盒算法 . 18 戏引擎使用的 撞检测简要解析 . 21 文采用的碰撞检测技术 . 22 点 /索引缓冲区 . 23 湖南大学毕业论文 第 形的碰撞检测 . 24 车与物体的碰撞检测 . 26 试 . 26 章小结 . 27 5 结论 . 28 致 谢 . 29 参考文献 . 29 附录 . 30 湖南大学毕业论文 第 1页 1 绪论 三维赛车游戏是当前流行的游戏, 是速度与激情的代表,也代表着当今游戏界最顶尖的画面表现, 拥有广大的玩家 支持 。本文基本实现了一个赛车游戏,该游戏有 着较为逼真的游戏场景和简单的赛车操作。 题来源、背景和目的 随着社会的发展进步,游戏逐步成为一种重要的休闲娱乐和教育手段。这种被称为是第九艺术的电子游戏起源于西方,是基于电子技术发展起来的一种具有娱乐性质的产业。随着电子技术的不断发展和扩充,游戏产业的内容也不断得到丰富,目前的游戏产业已经成为包含计算机软硬件技术、网络技术以及无线技术等最新科技和各种文化艺术的新型娱乐产业。而其中,游戏引擎技术可谓重中之重,它是整个游戏产业的核心技术。目前中国的游戏产业正处在一个稳定上升的发展阶段,中国将成为全球最大 的游戏市场,现在我们所看到的仅仅是冰山之一角。 根据 统计结果 ,如图 1以看出喜爱游戏是人类的天性,不分年龄段 1。 图 1戏用户年龄分布,性别分布,日常时间闲暇分配 从游戏的市场规模来看, 2000 年中国的网络游戏销售额仅为 元, 2001 年即达 元,而 2002 年中国网络游戏市场规模达到 元,增长率为 根据 003 年 12 月的最新研究, 2003 年中国网络游戏用户数量达到 1380 万,比 2002年增长 占同年 户数的 到 2007 年中国网络游戏用户数将达到4180 万,从 2002 年到 2007 年这 5 年的年复合增长率将达到 届时网络游戏用户将占到 户的 2。 湖南大学毕业论文 第 2页 赛车是世界上的顶级运动,它使人们充满对速度的渴望然而这项运动的赘用和危险同样高得惊人,以致令绝大多数爱好者望尘奠及,这些人不得不终日守在电视机前,借助想象力揣摩着车手究竟是如何驾驶赛车。 80 年代,电脑科技的迅猛发展改变了人们的生活,初出茅庐的虚拟技术使全世界车迷依稀触摸到速度的魔影;进入 90 年代,赛车游戏也进入到一个高速发展时期 ,模拟度越来越高的优秀作品不断给玩家和车迷带来惊喜;到了 21 世纪,电脑赛车游戏产业已发展到一个相当完善的程度,某些高水平作品的模拟度甚至达到 90以上。今天,就让我们踏上富于传奇色彩的速度之旅,来回顾 那些拥有无上经典的电脑赛车游戏。 1985 年 ,对于刚刚诞生的电脑赛车游戏来说,这是一个相对幼稚的历史时期,落后的电脑硬件还不足以使程序员营造出逼真的视听效果和驾驶感觉。这一时代的经典赛车游戏有:风驰电掣,马达城市,名车志,世纪金冠军,印地大赛车,云斯顿赛车。 1996 年 , 1996 年,英特尔奔腾一代中央处理器掀起了电脑硬件革命,电脑赛车游戏也由此翻开了崭新的篇章。性能游戏的 赛车游戏的表现力大为提升,程序引擎被个大公司大幅改进和优化,深奥的物理法则和高等数学也被引入其中。电脑赛车游戏进入高速发展时期。代表作有:世纪金冠军 2,拉力冠军, 程式赛车,摩托英豪,虚拟一级方程式大奖赛,横冲直撞,星球大战前传之极速飞梭, 奇,世嘉拉力 2 3。 一款好的赛车是一个公司技术实力和策划能力的体现,能创造巨大的 经济、社会效益 。 课题相关的国内外研究综述 极品飞车目前可能是最受欢迎的赛车游戏,第一代作品诞生于 1995,到目前已经诞生了 13 代作品。 在极品飞车中,玩家可以中仿照真实的地下改装车辆一般对自己的爱车进行从里到外的全面改造,当然,这是需要通过在游戏中获得比赛胜利,依靠奖金来实现的。高速奔驰下前方道路和环境移动的效果逼真绚丽。不论是黑夜中高楼林立的城市,眩目的霓虹灯残影,还是四周景物因高速而产生模糊效果都制作得非常细致。漂移、冲刺等 湖南大学毕业论文 第 3页 等多种花样技巧的引入,使这款游戏具备了单纯竞速所不具备的快感。至于 “ 辅助驾驶开关 ” 也 让游戏在驾驶和竞速方面得到了一定的平衡,给系统融入了新的活力。游戏的音响效果也非常好细腻,甚至连变速箱齿轮咬合的声音都被真实呈现,加上贯穿游戏的节奏感极强的摇滚乐,所有这些视觉、听觉上的高水准制作使得极品飞车逼真的刻画出深受西方年轻人喜爱的改车、飚车世界。 提供多种玩法,单人游戏分为快速模式、生涯模式两种。在快速模式中,玩家可以选择已解开的地图和车辆进行选定的比赛。而解开这些地图和车辆也需要在生涯模式中得到,所以生涯模式才是极品飞车的精髓所在。生涯模式就是故事模式,玩家扮演一个在乡村比赛中受伤的车手 ,养好伤之后来到城市里并且在各种比赛中赢取金钱和名声,最后终于让自己和之前让自己受伤的车手决一死战。在故事模式中,玩家可以享受到高自由度的车辆配件组专,车体商店可以更改车灯、车头、引擎盖、防撞栏之类的组件,可以在众多不同样式的组件中选择自己最喜欢的配件组装,组装后可以在画面右边看到评价星级。图案商店,主要为车辆进行喷涂油漆,以及各种贴纸、花纹以及车灯等。除了车身外,车顶、后视镜、扰流板、刹车、轮圈等都可以分别涂上不同颜色。车身上的花纹可从许多花纹中选择一种或者几种进行自由搭配,可以将你的爱车打造得个性并且炫 目。而车辆配件商店则负责定制车辆的仪表盘,霓虹灯,液压装置等。车展销售中心可以买到许多车型。 有多种比赛方式,比赛分为平常比赛和地下赛车联盟的正式比赛( 平常比赛可以选择参加,而 必须参加而且只有完成 能够进入下一个赛事。平常比赛中又包括 “ 跑道赛 ”“ 竞速赛 ”“ 直线加速赛 ”“ 甩尾赛 ”“ 街道赛 ” 等五个类型,各种类型所需要的技术和车辆都不同。跑道赛的赛场多是环城公路,甚至市区的街道,整个赛道为一个封闭的圆圈,车手们必须驾车行驶指定的圈数,以先完成全部圈道者为胜利。跑道赛对车的综合素 质要求比较高,减速过弯、直线加速、车辆的闪避甚至道路的选择都对比赛结果有很大的影响。开跑道赛所选择的车必须是集速度和操控性于一身,任何一个方面有欠缺都会吃大亏。竞速赛和跑道赛基本相同,不过赛道是线形的而不是跑道赛一样环形的。直线加速赛的赛场大多安排在笔直的高速公路、火车站甚至飞机场,车手不需要担心减速过弯的问题,仅仅需要将自己的车以最短的时间加到最 湖南大学毕业论文 第 4页 快的速度。在直线加速赛中,唯一的限制是必须使用手动换档,使用默认的左 左 行加档或降档 虽然几乎没有机会用到降档。对于这个比赛,车辆的性能和车 辆的换档的时机至关重要,要等到发动机达到最大马力的时候进行加档为最完美的换档。而发动机的最大马力时的转速可以在马力测试的时候看到。 极品飞车会给玩家带来有令人难忘的高细节的照片品质的图像,让你更有代入感。它将 术提升到了新的高度,允许你调整和改装你富有个性的车辆,并立刻在其外观和性能上体现出来。碰撞效果逼真精确,每一次的碰撞,每一次的刮擦和每一次的车体变形都将成为你战斗的印记,是对你的承诺和勇气的最佳证明。富有进攻性和高技巧的 统能够让你得到无比真实可信的赛车体验,而革命性的在线 模式将会重新定义多人游戏。 目前国内的赛车游戏主要都是网络游戏类型,单从游戏画面的角度上讲,是不能和欧美的单机赛车游戏相比的,没有逼真的碰撞以及实时出现的火花四溅的效果,赛车的驾驶感也不够真实,但是由于是网络休闲游戏, 在牺牲了驾驶的真实感的同时,驾驶的易操作性得到了极大的提升,只需要控制方向和加速,减速,大刹车即可。 文的内容安排 本论文主要研究了三维赛车游戏的制作,设计了一个简单的三维赛车游戏,实现了赛车游戏的基本功能。全文共分 六 章,具体安排如下: 第二章主要介绍 游戏引擎 的相关知识 ,第三章介绍了游戏的结构,第四章介绍如何实现游戏的汽车类、输入控制和场景渲染,第五章重点介绍了赛车游戏中的各种碰撞检测技术和本文采用的碰撞检测技术,最后第六章介绍了最终实现的赛车游戏的效果和缺陷。 湖南大学毕业论文 第 5页 2 游戏引擎 和游戏结构 台上开发游戏的事实上的标准,游戏引擎能使开发游戏的工作量大大的减少。 述 司的 一个多媒体应用编程接口工具包,用于为 作系统开发交互式软件。 生于 1995 年 ,已成为在 台上开发多媒体软件的一种标准,全世界的开发人员都在使用它。 要用于游戏开发,但其中部分用于开发其他类型的软件,这些软件包括游戏虚拟角色,网络软件和游戏无关的图形软件。 过和底成硬件打交道,从而获取软件的最大性能 4。 如图 2 图 2本应用架构 要由 成。每个 间相互独立,负责完成 核中不同的功能。 可以通过硬件加速。这意味着这些 以直接和运行软件的底成硬件对话。这样可以带来很好的性能,并提供开发商业软件的能力。 要负责向屏幕上渲染二维图形和三维图形。 以直接使用所有与计算机关联的输入设备。这些设备包括键盘、鼠标、和游戏控制器设备。通过 以最快速确定作为输入设备的状态。更重要的是, 以和所有现在的或将来的输入设备对话。由于 本质,所以使用它可以很容易的支持以后的输入的设备,而不必更新自己的 以让应用程序对机器进行网络功能设置,从而可以通过连接和其他网络玩家交流。 湖南大学毕业论文 第 6页 责与声音相关的操作,两者在控制声音的数量方面存在差异, 以提供更多的底成控制与更多的灵活性,而且方便使用。而使用不必做很多的控制,因为 高级些。 前已经发展到到 很不成功 到引发了显卡革命的,在到目前的 一路走来, 游戏业带来了巨大的发展。接下来的 新产品是 1 增加了新的计算 术,可以允许 事更多的通用计算工作,而不仅仅是 3D 运算,这可以鼓励开发人员更好地将 为并行处理器使用。另外, 1 还支持 嵌化技术,这有助于开发人员创建更为细腻流畅的模型,实现高质量实时渲染和预渲染场景。多线 程是1 的另外一大亮点, 以更好地利用多线程资源,从而使游戏更有效地利用多核处理器。 戏引擎 戏引擎概述 游戏引擎是游戏中与具体的游戏无关的核心技术部分,而游戏的部分就是场景和角色模型、动画、声音和代码等其他控制部分。经过游戏业的不断的发展,如今的游戏引擎己经发展为一套由多个子系统共同构成的复杂系统。一般这些引擎都是 3D 游戏引擎,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中的所有重要环节。 游戏引擎就是游戏开发者们为了降低重复劳动, 节省开发时间和开发费用 而诞生的,它封装了些在游戏制作中常用的功能,让我们能直接调用这些功能而不用在从头编写。 用的游戏引擎结构 在 3戏引擎涵盖的 内容很多 。选用的 该 游戏引擎是一个处理所有事务的系统,它是一个控制模块,向所有的子系统发出命令。因此,需要与每个游戏子系统联系。 该 游戏引擎 也 是一个容器,它容纳了其他所有的组件,控制整个系统的各个部分。 目前 该 3现的 功能模块包括:声音控制、输入控制、图形渲染、游戏界面控制等。其中图形渲染是引 擎的核心模块,涉及面较广,目前实现的功能点包括:顶 湖南大学毕业论文 第 7页 点、纹理、光照、材质、文字、雾化、天空盒、摄像机、广告牌、静态网格模型、骨骼动画、粒子特效、 形多层细节纹理等。最后,使用 该游戏引擎 各模块之间的协同操作如图 2 图 2擎各模块之间的协同操作 输入系统:接受玩家的键盘、鼠标等外设的输入信息,然后引擎对这些信息进行响应作出相应效果 (即游戏逻辑处理 ),实现与玩家的交互。 声音控制:加载、播放、停止声音等操作。并提供较逼真的三维音效,使玩家如身临其境的 感觉。 游戏 游戏的界面。加载图片实现了图形化的界面控件。方便玩家对游戏进行操作,提高用户体验性。 图形渲染:是整个引擎的核心模块,涉及面较广,主要功能是绘制渲染三维游戏世界。目前实现的功能点包括:顶点、纹理、光照、材质、文字、雾化、天空盒、摄像机、广告牌、网格模型、粒子特效、地形场景等。 碰撞检测:主要使用了二叉空间分割技术,把碰撞网格存储进二叉树,实现快速的碰撞检测。 湖南大学毕业论文 第 8页 戏结构 游戏与其他应用软件有着一定的区别,它不是我们的单线、事件驱动或顺序逻辑的程序。一个 3执行逻辑并在屏幕上不间断的绘制更新图像 通常以 4060帧每秒或更高的速度不断的绘制 5。这类似于电影放映方式,不同的是,我们将控制电影的情节发展。 本引擎中所使用的 游戏最基本的流程框架如图 2 图 2初始化:这部分执行与其他任何程序类似的标准操作,如内存分配、资源获取、从磁盘加载数据等。 进入游戏循环:这部分进入主游戏循环,用户将在这里不断地执行动作,直到退出主循环为止。 读取玩家输入:这部分处理玩家输入,或将其存储到缓冲区中,供游戏逻辑使用。 执行游戏逻辑:这部分包含游戏代码的主体部分,将执行人工智能、物理系统和通用游戏逻辑,并根据结果在屏幕上绘制下一帧。 图形渲染:在这一部分中,将根据玩家输入以及逻辑的执行结果,生成下一个游戏动画帧。在甚于 3由一个复杂的 3基于 部分工作都由硬件来承担。 循环:这部分相当简单,只需返回到游戏循环的开头,然后重新执行整个循环。 湖南大学毕业论文 第 9页 关闭:这是游戏的末尾,意味着用户退出游戏循环,并返回到操作系统。但是,与其它任何 软件一样,需要在返回操作系统之前释放占用的所有资源,并清理系统。 游戏控制台控制流程如图 2 图 2戏控制台的控制流程 章小结 本章主要介绍了 游戏引擎,让我们了解两者的大概功能和关系。在了解两者的基础上,着重介绍了该游戏选用的游戏引擎的各个功能模 块及各模块是如何协同工作的,为接下来的游戏制作打下了坚实的基础。 最后介绍了下游戏的基本结构, 一个游戏本质上是一个持续不断的 环,它执行逻辑 ,并根据逻辑计算出下 一帧图像,并在屏幕上不间断的绘制更新图像。 游戏最终表现 出来的就是一帧又一帧连续的画面,我们所要作的就是在循环中,不断的获取用户的输入,根据输入执行游戏逻辑,生成下一个游戏动画帧,最后渲染该动画帧。 湖南大学毕业论文 第 10页 3 游戏的汽车类模块、场景渲染、输入控制 入检测和响应 每个交互式程序都要为用户提供一些与其交互的方法。在视频游戏中,通常可以通过诸如游戏垫、方向盘、操纵杆、键盘和鼠标等这类输入设备实现。输入检测不仅要和大量设备打交道,还要能够对于具有速度高要求的视频游戏做出快速反应。在 输入可以通过 责对所有连接到机器上的设备进行输入检测。 从对 盘或鼠标的用户输入消息并不是直接传递给应用程序来处理的,面是是转发回 后由 然,如果游戏程序仍采用这种方式来处理用户的输入将不会获得理想的执行效率。 一个组件接口,提供了大量的接口函数处理用户在键盘、鼠标、游戏杆以及力回馈等游戏装置上的输入,而且 此 一方面,正是由于 以在控制面板上所做的任何键盘和鼠标的属性设置,如键盘按键的延迟重复和鼠标的左右手习惯等,都不会对应用 非是修改同驱动程序提供的属性设置。 游戏引擎封装了 们只用初始化游戏引擎的输入控制类,调用该类的函数 判断哪个键位被 敲击,即可响应该键位的事件。 景 渲染 在现实的许多商业游戏中,场景十分复杂,有着逼真的天空、高低起伏且十分精细的地形、各种天气效果 (雨、雾等 )以及光照阴影等。 我们的游戏场景是个简单的,只由天空,模型 (该模型包含了地形 )和光照组成 的,这些组成部分涉及到了许多技术。 湖南大学毕业论文 第 11页 空盒技术 在虚拟现实和视景仿真应用系统中,天空仿真是必不可少的内容之一。天空背景的真实感对用户来说能大大提高视觉享受和沉浸感。所以,一个活动的、完整的天空是整个虚拟三维系统真实感体现所必须具备的。本文所实现的游戏的天空 采用的就是天空盒技术,只要使用好的纹理,就能实现令 人信服的画面。 天空盒只不过是一个 6 个面正方形,中心就是视点。上下左右前后分别贴上天空纹理后,基本天空盒就制作完成。如图3 图 3-1 图 3-2 图 3-3 3-4 图 3-5 图 3-6 染的后的天空效果如图 3示 。 需要注意的是玩家在场景中不停的漫游,而天空的大小是有限,我们可以采用一种简单方法来让玩家走不出天空盒的范围 ,每次渲染时我们始终让摄像机的坐标位于天空盒的中心,这样就可以给我们一种感觉,天空是无限大的,怎么走也走不出。最后是渲染天空盒,我们的天空盒是有大小的,所以我们渲染时禁止 Z 缓冲写入,否则渲染时,天空盒 Z 大小都写了进去,导致超出天空盒大小的场景渲染不了,而且还要最先渲染,否则因为你禁止 Z 缓冲写入,先渲染场景再渲染天空盒,天空盒把整个场景覆盖了。 湖南大学毕业论文 第 12页 图 3空盒效果 型 运用 我们使用的模型是 X 模型,这种模型是 身的格式 ,可以通过几个内置函数直接加载和渲染到 X 模型最大的 优点就是它们十分易用,可以直接和 X 文件格式基于模板格式, 一些内置模板,可以用于定义 X 文件中的网格。这些标准模板包括外观、纹理坐标和法线。因为 X 文件格式基于模板格式,所以 要知道一些存储在文件中用于某种目的的信息。 X 模型可以被保存为文本文件,也可以被保存为二进制文件,这意味着可以在任意的文本编辑器中打开 X 文本文件,并修改其内容。 X 文件中的 准模板用于指定可以施加在单个表面(多边形)的材质。针对材质的标准模板定义了环境颜色、发射能量、 镜面颜色、反射量、与材质相关的纹理图像文件名。 X 文件中的 板定义了 X 文件中的完整网格。 X 模型可以包含多个网格。网格模板结构开始先定义顶点总数,然后是顶点的 x, y, z 坐标。定义完顶点之后,接下来必须定义网格的外观或多边形。开始先是网格中的外观数,后面是每个外观的三角形 湖南大学毕业论文 第 13页 索引。每个 三角形索引行开始是代表该外观使用的三角形数目,后面才是索引号。定义完顶点和三角形之后,就可以随意定义其他属性了,如每一外观的材质、纹理坐标等。 X 文件中的 板指明网格中的哪个外观使用哪种材质。材 质链表结构开始先定义材质数目,然后是将材质施加的外观总数。这之后,每个外观占一行。每行定义一个值,用该值引用要用的材质。该结构的最后一行是涉及到的所有材质链表。第一个材质索引号为 0,第二个为 1,依此类推。 X 文件中的 板开始先指定网格中的索引数,然后用逗号隔开,简单的列出每个顶点的纹理坐标。有了该模板就可以在 将纹理映射到网格上。 加载和渲染 X 模型很简单。所有的 X 模型都保存在相同的名为 结构中。调用 即 可。调用 象的 函数可以绘制模型。 我们需要注意的是, X 模型本身所有顶点位置都是基于其自身坐标,而我们要最终要将模型显现在外面的屏幕上,这就需要进行些 坐 标变换。 首先简要说明一下三维物体的成像过程。三维物体可通过建模的微分方法,把弯曲的表面切分为一个个的三角形面,这样三维物体表面的绘制,就转化为物体表面中所有三角形面的绘制。要渲染由众多三维物体组成的三维场景,需要先引入局部坐标系,为场景中的各个三维物体进行三角形顶点的坐标量化。 局部坐标系示例如图 3 图 3部坐标系 引入世界坐标系,把整个场景中所有三维物体的各自顶点局部坐标,转换为同一个世界坐标系下的坐标。在同一个世界坐标系中,场景中各个三角形面的顶点坐标如实地给出了场景中物体间的空间关系。如果需要对场景实施光照处理,还要对顶点的颜色值 湖南大学毕业论文 第 14页 进行计算。这个过程最终是输出具有世界坐标的场景下的所有三维物体的顶点信息。 世界坐标系示例如图 3示: 图 3界坐标系 在三维场景中选定位置和方向架设摄影机,取景范围由一个棱台视截体决定。在视截体之内部分,应显示处理;视截体之外的部分则要裁剪掉,而不显 示出来。为了便于裁剪,在摄影机的位置处建立一个摄影坐标系,其 Z 轴指向摄影机的视线方向,从而使视截体的 6 个外围侧面具有较为简单的方程式。此时,需要将场景中所有物体的三角形顶点的世界坐标转换为摄影坐标系下的坐标。这个过程最终输出变换为摄影坐标的顶点信息。取得场景中所有物体的三角形顶点摄影坐标之后,开始进行裁剪和透视投影处理。这个过程最终是输出位于视觉区域内,并且已变换为投影坐标的顶点信息。最后将平面投影的点变换到计算机屏幕的视口中,并根据投影点的 Z 坐标值反映的顶点远近遮隐关系,确定屏幕视口中每个像素的颜色值 6, 以此实现三维场景的平面着色显示。 总之,在加载模型后,要想成功的渲染模型还需要进行坐标转换,在模型文件中所有顶点使用的都是其局部的 3D 坐标,并非渲染函数能够直接使用的屏幕坐标。要想将其输出到屏幕中通常需要经过以下三种坐标转换: 1. 全局转换。将所有的物体转换为统一的全局坐标,还可以在这里完成各种对物体位置的操作。 2. 视图转换。转为从观察者角度看到的全局坐标。先在全局坐标系的指定位置架一台摄影机,指定一个注视点和一个参考点。坐标将被转换到以摄影机为原点,从原点到注视点为 Z 轴,再加上参考点,所确定的平面为 面的坐标系中。 3. 透视转换。透视转换将各顶点的 x, Y 值转换为实际的屏幕坐标,而 z 值就是的深度信息。 湖南大学毕业论文 第 15页 基本的坐标转换 (平移、旋转、放缩 ),在 3D 程序里,都是将该点 (就是一个列向量 )乘以一个 4阵。然后调用相应的三个函数告诉 这个矩阵完成全局转换,然后用那个矩阵完成视图转换。 照技术 光照是一门为 3D 场景增加真实感的技术,它以某种方式通过对物体分布不同的亮度和黑暗形成阴影而实现真实感。如同现在许多游戏中见到的一样,光照可以将场景带入到一个全新的真实感层次。为场景增 加光照会对已渲染的场景产生巨大的影响。 在计算机图形学中就三类光源需要考虑,分别是点光源、聚光光源和方向性光源。每类光源分别描述了日常生活中见到的不同类型的光。计算机图形中有许多不同的反射模型,但最常用的模型分别是环境光反射模型、漫反射模型和镜面反射模型,反射同物体的材质有关。反射模型和光属性一起确定了 3D 场景中物体的外观。在本文中,我们只要设置调用灯光类的 设置光源类型, 设置灯光颜色,在设置光源朝向,分配光源序号,是该序号光源可用即可实现场景中的光 照效果。 车类模块 赛车类游戏需要有个比较完善的汽车类,他们基本表达汽车的刚体运动 ,为此我们针对汽车建模。该汽车具有速度和加速度,最大速度,刹车加速度和方向盘灵敏度(决定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论