新書推薦:
《
有趣的中国古建筑
》
售價:NT$
305.0
《
十一年夏至
》
售價:NT$
347.0
《
如何打造成功的商业赛事
》
售價:NT$
407.0
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:NT$
265.0
《
慈悲与玫瑰
》
售價:NT$
398.0
《
启蒙的辩证:哲学的片简(法兰克福学派哲学经典,批判理论重要文本)
》
售價:NT$
347.0
《
心跳重置
》
售價:NT$
269.0
《
云中记
》
售價:NT$
347.0
|
內容簡介: |
本书为“十二五”普通高等教育本科*规划教材。 本书着重介绍计算机游戏程序设计所需的专业领域知识,包括二维图形图像技术、三维图形学基础、高级图形学编程、计算机动画技术、人工智能技术、音频处理技术和网络技术、VRAR游戏开发等,基本涵盖了计算机游戏编程的各个主要方面。全书共12章,取材于国内外的*资料,强调理论与实践相结合,通过游戏实例来启发性地说明游戏编程的各种原理和方法。 本书教学资源包括三部分内容:示例代码、集成示例和绘制引擎(读者可以通过扫描二维码进行下载)。 本书面向的读者对象是那些已掌握基本的程序设计技能,但立志于从事计算机游戏软件开发的程序员和游戏开发爱好者。本书既可作为计算机、数字媒体技术和游戏专业的本科生(研究生)的教材,也可用于游戏学院和各类游戏编程人员培训班的参考资料,对正在从事游戏开发和制作的相关人员也具有重要参考价值。
|
關於作者: |
耿卫东,男,浙江大学计算机学院教授,计算机应用技术与数字化艺术博士生导师。ACM SIGGRAPH会员,中国图像图形学会计算机动画与数字娱乐专业委员会委员,数码艺术专业委员会委员,中国动画学会会员,杭州国家动漫基地特聘专家。
|
目錄:
|
目录
第1章三维游戏引擎技术简介1
1.1三维游戏的基础架构1
1.1.1硬件层2
1.1.2基础层(驱动、操作系统及API)3
1.1.3游戏引擎3
1.2三维游戏引擎发展简史4
1.3常用三维游戏引擎10
1.3.1虚幻引擎UNREAL10
1.3.2CryEngine引擎11
1.3.3Unity3D引擎10
1.3.4Ogre3D引擎11
1.3.5寒霜引擎Frostbite Engine12
1.3.6id Tech引擎13
小结14
习题114
参考文献15
第2章三维数学基础16
2.1坐标系16
2.2向量及其运算17
2.3矩阵、变换及其运算18
2.4旋转22
2.4.1四元数22
2.4.2欧拉角23
2.4.3旋转变换的不同表达形式之间的转换24
2.5常用的立体几何算法25
2.5.1常用几何体的表达与生成26
2.5.2常用几何体之间的距离与求交27
2.5.3常用几何体的属性计算28
小结30
习题230
参考文献30
第3章三维游戏场景的表示和组织32
3.1三维场景的表示32
3.1.1三角网格模型33
3.1.2三维对象参数表示35
3.1.3三类常用参数曲面36
3.2三维场景的组织和管理39
3.2.1基于场景图的表达和管理40
3.2.2基于绘制状态的场景管理44
3.2.3基于景物包围体的场景组织45
3.2.4优化场景绘制的几何剖分技术46
3.2.5景物包围体与场景剖分技术比较48
3.3三维场景的存储50
3.3.1OBJ模型50
3.3.2FBX50
3.3.3COLLADA51
3.4游戏场景的几何优化52
3.4.1层次细节技术52
3.4.2渐进网格和连续多分辨率绘制技术53
小结55
习题355
参考文献55
第4章高级图形绘制技术57
4.1高级纹理映射技术57
4.1.1凹凸纹理映射57
4.1.2位移映射61
4.1.3 环境映射62
4.1.4 基于光照映射的快速绘制64
4.1.5高级纹理映射技术总结67
4.2基于图像的绘制68
4.2.1Billboard技术68
4.2.2Impostor技术71
4.2.3精灵图元绘制73
4.3表面材质绘制74
4.3.1基于物理的表面材质模型75
4.3.2基于测量的表面材质模型77
4.3.3表面材质模型的真实感绘制77
4.3.4表面材质模型的快速绘制79
4.4图像反走样83
小结85
习题485
参考文献86
第5章三维特效图形绘制87
5.1过程式建模和绘制技术87
5.1.1粒子系统87
5.1.2爆炸与火焰89
5.1.3L-系统与植被的模拟90
5.1.4云的过程式纹理生成92
5.2阴影计算92
5.2.1平面投影法93
5.2.2阴影体94
5.2.3阴影图99
5.2.4软影生成100
5.2.5Ambient Occlusion101
5.3镜头特效模拟102
5.3.1透镜光晕102
5.3.2运动模糊和域深104
5.3.3色调映射104
5.4相互辉映计算与全局光照明107
5.4.1预计算辐射传输方法108
5.4.2基于屏幕空间的相互辉映计算方法110
小结111
习题5111
参考文献111
第6章三维碰撞检测与动力学计算113
6.1动力学基础113
6.2质点动力学114
6.2.1力方程115
6.2.2动量与速度116
6.2.3弹簧质点运动118
6.3刚体动力学119
6.3.1刚体旋转120
6.3.2角速度、角动量、扭矩和旋转惯量120
6.3.3力方程与积分122
6.4碰撞检测122
6.4.1碰撞检测的基本原理124
6.4.2求交算法124
6.4.3基于空间剖分结构的碰撞检测算法126
6.4.4层次包围体树法130
6.4.5基于图像空间的碰撞检测算法135
小结137
习题6137
参考文献137
第7章角色动画基本编程技术139
7.1三维角色动画概述139
7.2关键帧动画技术140
7.2.1关键帧的指定141
7.2.2蒙皮模型的变形143
7.2.3中间帧的插值技术144
7.3基于动作捕捉的动画技术149
7.3.1动作捕捉系统简介150
7.3.2动作捕捉数据的文件格式及其解析152
7.3.3动作捕捉数据的编辑和重用166
7.3.4在游戏中的应用168
7.4角色动画的压缩170
7.4.1基于关键帧提取的压缩170
7.4.2基于帧内容的压缩170
7.5脚本驱动的动画技术171
7.5.1脚本语言的设计及分类172
7.5.2脚本语言在游戏中的应用174
小结175
习题7175
参考文献176
第8章三维音效编程技术177
8.1声音基础177
8.1.1声音的表示和存储177
8.1.2声音的合成179
8.2三维音效生成179
8.2.1听觉理论180
8.2.2三维音效模拟180
8.3基于OpenAL的三维音效实现182
8.3.1OpanAL编程概述182
8.3.2OpanAL的三维音效编程184
8.4基于DirectX Audio的三维音效实现186
8.4.1DirectX Audio概述186
8.4.2DirectSound编程概述187
8.4.3DirectMusic播放MIDI背景音乐193
8.4.4DirectSound的三维音效编程193
8.5XAudio2编程概述194
小结197
习题8197
参考文献198
第9章三维交互编程技术199
9.1三维交互开发平台199
9.2任天堂Wiimote应用开发201
9.2.1Wiimote编程接口API说明202
9.2.2基于Wiimote获取运动传感数据的示例代码204
9.3移动平台应用开发205
9.3.1Unity编程接口API说明206
9.3.2Unity使用加速度传感器的示例代码206
9.4微软Kinect应用开发207
9.4.1Kinect SDK编程接口API说明209
9.4.2Kinect获取彩色图像和骨架数据的示例代码212
9.5Leap Motion应用开发214
9.5.1Leap Motion编程接口API说明216
9.5.2Leap Motion获取体感数据的示例代码218
小结220
习题9220
参考文献220
第10章AI编程进阶221
10.1游戏AI简介221
10.2常见的游戏AI技术223
10.2.1有限状态机223
10.2.2基于脚本语言的行为建模225
10.2.3模糊逻辑225
10.2.4多智能体技术与人工生命226
10.2.5决策树227
10.2.6人工神经元网络228
10.2.7遗传算法229
10.2.8群体行为的模拟230
10.3跟踪与追逐行为的模拟232
10.4有限状态机和模糊有限状态机的实现236
10.4.1有限状态机的实现236
10.4.2模糊有限状态机的实现244
10.5A*算法和路径寻找技术249
10.5.1搜索技术及A*算法249
10.5.2路径寻找技术258
10.6游戏AI的设计和实现原则262
10.7展望266
小结268
习题10269
参考文献269
第11章网络游戏编程技术270
11.1网络游戏的基本架构270
11.2Winsock编程基础272
11.2.1TCPUDP简介272
11.2.2Socket和Winsocket简介273
11.2.3Winsock编程结构274
11.2.4Winsock地址处理275
11.2.5Winsock函数介绍276
11.2.6Winsock综合示例281
11.3网络游戏通信协议284
11.4网络游戏多线程编程285
11.5小型网络游戏设计与实现286
11.6大型多人网络游戏设计策略288
11.7网络传输的优化291
小结293
习题11293
参考文献293
第12章虚拟现实增强现实游戏开发294
12.1虚拟现实与增强现实概述294
12.1.1虚拟现实294
12.1.2增强现实297
12.2深度感知与三维显示298
12.2.1深度感知298
12.2.2基于立体眼镜的三维显示300
12.3VR游戏开发301
12.3.1视角控制302
12.3.2三维自然交互303
12.3.3性能优化307
12.4AR游戏开发311
12.4.1AR游戏中的三维注册与实时交互311
12.4.2代表性AR游戏313
小结316
习题12316
参考文献317
附录A三维图形绘制基础318
A.1坐标系概述318
A.2颜色空间与模型319
A.3图形绘制流程323
A.3.1固定流水线324
A.3.2定制流水线与Shaders325
A.4照相机模型与投影矩阵326
A.4.1照相机模型326
A.4.2投影矩阵327
A.5顶点与几何变换329
A.6像素计算330
A.6.1像素颜色计算330
A.6.2片段剔除332
A.6.3反走样332
A.7光照明计算333
A.8纹理映射339
A.9推迟渲染344
A.10绘制编程接口346
参考文献348
|
內容試閱:
|
前 言
在电子工业出版社的大力支持下,本书分别于2005年和2009年推出第1版和第2版。其中,第2版成功入选普通高等教育十一五国家级规划教材。近年来,随着游戏开发技术的不断演进,特别是VRAR游戏的迅猛发展,应广大读者的要求,对原书稿中的内容做了大幅更新和补充,形成了第3版书稿,并入选十二五普通高等教育本科国家级规划教材。
在修订本书时,原本希望增加游戏中的软件工程游戏策划游戏脚本编程游戏开发综合实例等内容,使得本书变成一本能够覆盖不同层次、不同领域人员的大而全的游戏开发专业教材。但在编写过程中,我们发现涉及的内容实在太多,后来听取了采用该教材的大多数任课老师和同学的反馈意见,考虑到学时等限制因素,最终决定面向不同层次和水准的开发人员将书稿分为基础篇、提高篇两册。基础篇面向入门级的游戏开发人员,以介绍二维游戏开发的专业知识为主,通过丰富的实例使得读者可快速上手。提高篇面向有一定经验的游戏开发人员,以介绍三维游戏开发的专业知识为主,深入探究游戏开发的基本原理和技术,并针对当前游戏产业热点,补充了虚拟现实与增强实现游戏的开发流程和技术介绍,让读者的游戏开发能力更上一层楼。
在本书修订过程中,我们把本书编写的指导原则定位为以下几方面:
(1)把游戏开发涉及的多领域共性知识点的讲授和实践技能培训相融合,强调知识学习和动手实践的有机结合。
(2)在内容组织上,系统介绍游戏开发的知识点,并提供完整的示例代码和实验手册。
(3)采用目标学习、案例导航的组织方式,让读者能够快速掌握知识和技能要点。
(4)整合和吸收多教材的框架结构,结合作者的最新研究和开发工作进展,使得修订内容在技术和知识方面与时俱进。
本书提供的游戏场景融合了本书涵盖的游戏开发过程中涉及的主要技术和流程,目的是希望通过对这一场景的实现和学习,读者可以更直观、更深刻地感受和掌握游戏开发的主要技术和过程。本书从内容到文字反复修订、修改数次,力求达到减少错误。其中,王锐等重新修订编写了第1~5章的内容。第6章由丁治宇修订撰写,内容涉及力学和物理,他参考、翻阅了大量的物理教材,设计和制作了所有的插图和游戏场景。朱标修订了第7章,梅鸿辉修订了第8章,新增了习题实例并给出了代码。第9~11章由梁秀波等修订。第12章及附录A中的虚拟现实游戏开放等内容,由郑文庭、张帆等参与修订。此外,丁治宇还负责书稿的通稿和校对,设计了全部的游戏场景;黄家东参与了全书的最后校对,在此一并致谢。
再次感谢浙江大学计算机科学与技术学院、软件学院、CAD&CG国家重点实验室为作者提供的优良科研条件和各种便利,使得本书的撰写得以顺利完成。感谢为本书提供图片和示例代码的众多相关公司和人员,限于篇幅,不一一列出。
感谢所有使用本书的任课老师和同学的反馈建议。感谢电子工业出版社的各位编辑,谢谢他们的鼓励与协作。最后,感谢家人对本书的撰写和再次出版的无私支持和付出。
由于作者知识和水平有限,即使本书是再版,其中也肯定会存在一些问题,恳请读者提出宝贵建议。
本书为任课教师提供配套的教学资源(包含电子教案和示例代码),需要者可登录华信教育资源网(http:www.hxedu.com.cn),注册之后进行免费下载,或者扫描下面的二维码进行下载。
作 者
|
|