Android 3D游戏开发技术详解与典型案例

Android 3D游戏开发技术详解与典型案例

 

500分钟视频讲解
结合真实案例介绍Android平台下
OpenGL ES基本技术的使用及3D游戏开发的完整流程

 

基本信息

作者: 吴亚峰    苏亚光    [作译者介绍]

出版社:电子工业出版社

ISBN:9787121132636

上架时间:2011-6-9

出版日期:2011 年6月

http://product.china-pub.com/198189


 

内容简介

  《android 3d游戏开发技术详解与典型案例》主要以android平台下3d游戏的开发为主题,并结合真实的案例向读者详细介绍了opengl es的基础知识及3d游戏程序开发的整个流程。
   《android 3d游戏开发技术详解与典型案例》分为两篇共22章,第一篇以简单易懂的实例为依托,详细介绍了opengl es各方面的基础知识,第二篇则对7个真实案例的开发步骤进行了详细的介绍,逐步向读者讲解android 3d游戏的真实开发过程,同时源代码中还包含了详细的注释,以尽量帮助读者掌握代码中的每一个细节,尽快掌握android 3d游戏开发。
   《android 3d游戏开发技术详解与典型案例》的讲述由浅入深,从android平台下3d游戏开发应用的基础知识到开发大型游戏程序,结构清晰、语言简洁,非常适合初学者和进阶开发者阅读参考。 

 

 

目录
第一篇 必知必会的基础知识 
第1章 英雄还看今朝——android简介 20 
《android 3d游戏开发技术详解与典型案例》 
1.1 群雄割据的手机市场 20 
1.1.1 手机市场的两颗新星 20 
1.1.2 手机操作系统的5大元老 21 
1.2 android的未来及特点 22 
1.2.1 得中国市场者得天下 22 
1.2.2 全新的概念带来全新的体验 22 
1.3 android开发环境的搭建 22 
1.3.1 sdk的安装及环境配置 22 
1.3.2 eclipse集成开发环境的搭建 23 
1.3.3 模拟器的创建和运行 24 
1.4 第一个android应用程序的开发 25 
1.4.1 第一个android程序 26 
1.4.2 android应用程序的调试 27 
1.5 android应用程序运行的内部机制 29 
1.5.1 android应用程序的项目结构 30 
1.5.2 android 应用程序的系统架构 31 
1.5.3 android 应用程序框架 32 
.1.5.4 android 运行时 32 
1.5.5 系统库 33 
1.5.6 linux内核 34 
1.6 本章小结 34 
第2章 数风流人物——当前流行游戏类型简介 35 
2.1 avg冒险游戏 35 
2.1.1 游戏玩法 35 
2.1.2 视觉效果 35 
2.1.3 游戏设计 36 
2.2 pzl益智类游戏 36 
2.2.1 游戏玩法 36 
2.2.2 视觉效果 37 
2.2.3 游戏设计 37 
2.3 act动作游戏 38 
2.3.1 历代游戏介绍 38 
2.3.2 未来动作游戏的发展 39 
2.4 rpg角色扮演类游戏 40 
2.4.1 历代游戏介绍 40 
2.4.2 android平台游戏移植 42 
2.5 stg射击类游戏 43 
2.5.1 游戏的分类 43 
2.5.2 游戏的玩法 44 
2.5.3 游戏设计 44 
2.6 fps第一人称视角射击游戏 44 
2.6.1 游戏玩法 44 
2.6.2 视觉效果 45 
2.6.3 游戏设计 45 
2.7 slg策略游戏 46 
2.7.1 游戏的玩法 46 
2.7.2 视觉效果 46 
2.7.3 游戏设计 47 
2.8 spt体育类游戏 47 
2.8.1 游戏的玩法 47 
2.8.2 视觉效果 47 
2.8.3 游戏设计 47 
2.9 本章小结 48 
第3章 不积跬步,无以至千里—游戏开发基础知识 49 
3.1 游戏中的声音 49 
3.1.1 迅雷不及掩耳的即时音效 49 
3.1.2 一个即时音效的例子 50 
3.1.3 背景音乐播放技术 53 
3.1.4 简单音乐播放器实现 55 
3.2 手机中的数据库——sqlite 59 
3.2.1 sqlite数据库简介 59 
3.2.2 sqlite数据库的基本操作 60 
3.2.3 sqlite操作数据库的简单应用 60 
3.3 文件i/o 64 
3.3.1 轻松访问sd卡 64 
3.3.2 访问手机中的存储文件夹 67 
3.3.3 读取assets中的文件 68 
3.4 存储简单数据的利器——preferences 70 
3.4.1 preferences简介 70 
3.4.2 preferences实现显示上次登录时间 70 
3.5 surfaceview在游戏中的使用 72 
3.5.1 surfaceview简单操作 72 
3.5.2 简单动画场景的绘制 73 
3.6 本章小结 78 
第4章 千里之行,始于足下—3d开发基础知识 79 
4.1 opengl es 简介 79 
4.1.1 师出名门的opengl es 79 
4.1.2 三角形组成的世界 80 
4.1.3 第一个opengl es三角形 82 
4.2 不同的绘制方式 87 
4.2.1 点和线的绘制 87 
4.2.2 索引法绘制三角形 93 
4.2.3 顶点法绘制三角形 101 
4.3 不一样的投影,不一样的世界 103 
4.3.1 正交投影 103 
4.3.2 透视投影 104 
4.3.3 两种投影的比较 105 
4.3.4 近大远小的原理 112 
4.4 本章小结 114 
第5章 愿君多采撷,此物最相思——光照效果的开发 115 
5.1 五彩缤纷的源泉——光源 115 
5.1.1 光源的开启及关闭 115 
5.1.2 设定光源的数量 116 
5.1.3 定向光 117 
5.1.4 定位光 118 
5.2 光源的颜色 119 
5.2.1 环境光 119 
5.2.2 散射光 120 
5.2.3 镜面反射光 121 
5.3 材料反光属性的法官——法向量及材质 121 
5.3.1 法向量的作用 121 
5.3.2 光照的开启及关闭例子 122 
5.3.3 物体的材质 128 
5.3.4 设定光源数量的例子 128 
5.4 两个物体发光的例子 132 
5.4.1 定位光例子的实现 132 
5.4.2 自发光物体加运动光源的实现 135 
5.4.3 mysurfaceview.java详解 137 
5.5 面法向量与点平均法向量 143 
5.5.1 面法向量的应用 143 
5.5.2 点平均法向量的应用 145 
5.6 本章小结 146 
第6章 为伊消得人憔悴—纹理映射 147 
6.1 3d世界的花衣——纹理贴图 147 
6.1.1 指定纹理 147 
6.1.2 分配纹理坐标 148 
6.1.3 纹理贴图三角形的实现 149 
6.1.4 纹理贴图球体的构建 153 
6.2 使用纹理映射构建地月模型 161 
6.2.1 浩瀚星空中的地月系 161 
6.2.2 地月系的案例讲解 162 
6.3 纹理拉伸 170 
6.3.1 纹理拉伸的原理与用途 170 
6.3.2 纹理拉伸案例讲解 172 
6.4 纹理过滤 175 
6.4.1 最近点采样 175 
6.4.2 线性纹理过滤 176 
6.4.3 mipmap:多重细节层 176 
6.5 视角的合理设置 177 
6.5.1 不同视角的3d世界 177 
6.5.2 合理视角案例讲解 178 
6.6 本章小结 180 
第7章 海阔凭鱼跃,天高任鸟飞—3d基本形状的构建 181 
7.1 圆柱体 181 
7.1.1 圆柱体的几何方程 181 
7.1.2 圆柱体的opengl es实现 182 
7.2 圆锥体 190 
7.2.1 圆锥体的几何方程 190 
7.2.2 圆锥体的opengl es实现 190 
7.3 圆环 193 
7.3.1 圆环的几何方程 193 
7.3.2 圆环的opengl es实现 193 
7.4 抛物面 196 
7.4.1 抛物面的几何方程 196 
7.4.2 抛物面的opengl es实现 197 
7.5 双曲面 199 
7.5.1 双曲面的几何方程 199 
7.5.2 双曲面的opengl es实现 200 
7.6 螺旋面 202 
7.6.1 螺旋面的几何方程 202 
7.6.2 螺旋面的opengl es实现 203 
7.7 本章小结 205 
第8章 执子之手,与子偕老——坐标变换 206 
8.1 理解坐标变换 206 
8.1.1 坐标变换的实质 206 
8.1.2 重要的堆栈操作 207 
8.2 缩放变换 208 
8.2.1 缩放变换原理分析 208 
8.2.2 opengl es中的缩放变换实现 208 
8.3 平移变换 211 
8.3.1 平移变换理论概览 211 
8.3.2 opengl es中的平移变换实现 212 
8.4 旋转变换 213 
8.4.1 旋转变换原理概述 213 
8.4.2 opengl es中的旋转变换实现 214 
8.5 复合变换的简单案例——地月系模型 215 
8.6 用复合变换模拟现实世界 216 
8.7 本章小结 218 
第9章 孤帆远影碧空尽—摄像机与雾特效 219 
9.1 摄像机 219 
9.1.1 摄像机的简介 219 
9.1.2 摄像机的设置 220 
9.2 雾特效 221 
9.2.1 雾特效的相关知识 221 
9.2.2 雾特效核心代码 222 
9.3 摄像机与雾特效实现沙漠中的金字塔 222 
9.3.1 场景部件——四面体和太阳东升西落 223 
9.3.2 场景部件——星空类 226 
9.3.3 场景的创建 229 
9.3.4 摄像机up方向变换效果 232 
9.4 本章小结 233 
第10章 假作真时真亦假——混合 234 
10.1 什么是混合 234 
10.2 源因子和目标因子 235 
10.2.1 源因子和目标因子的默认实现方式 235 
10.2.2 预定义常量分析 235 
10.2.3 常用的组合方式 236 
10.2.4 启用混合 237 
10.3 混合案例 237 
10.3.1 一个混合的简单案例 237 
10.3.2 带光晕和云层效果的地月系模型 241 
10.3.3 滤光器中的世界 245 
10.4 本章小结 250 
第11章 蓦然回首,那人却在灯火阑珊处—3d高级技术 251 
11.1 标志板 251 
11.1.1 标志板技术概述 251 
11.1.2 标志板的案例 252 
11.2 飘扬的旗帜 254 
11.2.1 旗帜飘动效果原理 254 
11.2.2 飘扬旗帜案例讲解 255 
11.3 山地的生成技术 257 
11.3.1 灰度图地形技术概述 257 
11.3.2 灰度图生成3d地形 258 
11.3.3 地形场景效果的提升 261 
11.4 镜像技术 263 
11.4.1 镜像技术的简介 264 
11.4.2 镜像技术的实现 265 
11.4.3 镜像技术的提升 267 
11.5 本章小结 268 
第12章 心有灵犀一点通——传感器 269 
12.1 传感器简介 269 
12.1.1 磁场传感器简介 269 
12.1.2 光传感器简介 269 
12.1.3 距离传感器简介 270 
12.1.4 加速度传感器简介 270 
12.1.5 姿态传感器简介 271 
12.1.6 sensorsimulator模拟器的配置 273 
12.2 传感器的数据传输 276 
12.2.1 加速传感器的数据传输 276 
12.2.2 姿态传感器的数据传输 278 
12.3 传感器实例——平衡球 279 
12.4 本章小结 287 
第13章 千锤万凿出深山——游戏中的数学与物理 288 
13.1 必知必会的几何知识 288 
13.1.1 三维笛卡儿坐标系 288 
13.1.2 向量 288 
13.1.3 加减法 290 
13.1.4 向量的点积 291 
13.1.5 向量的叉积 291 
13.1.6 空间平面的确定 292 
13.2 不可或缺的物理世界 293 
13.2.1 重力系统 293 
13.2.2 碰撞 298 
13.2.3 完全弹性碰撞 299 
13.2.4 带有能量损失的弹性碰撞 302 
13.2.5 粒子系统 303 
13.3 本章小结 311 
第14章 山舞银蛇,原驰蜡象—ai基本理念 312 
14.1 ai简介 312 
14.1.1 什么是智能 312 
14.1.2 什么是游戏ai 312 
14.2 ai引擎的基本组成与设计 313 
14.2.1 智能体 313 
14.2.2 处理机与感知 314 
14.2.3 导航 314 
14.3 游戏ai中图的搜索 315 
14.3.1 深度优先搜索 315 
14.3.2 广度优先搜索 321 
14.3.3 dijkstra搜索 325 
14.3.4 广度优先a*算法的实现 329 
14.3.5 dijkstra a*算法的实现 332 
14.3.6 a*与非a*算法之间的比较 334 
14.4 模糊逻辑 336 
14.4.1 普通集合 336 
14.4.2 模糊集合 337 
14.4.3 模糊语言变量 339 
14.4.4 模糊规则 339 
14.5 本章小结 340 
第15章 独上高楼,望尽天涯路——开发小秘籍 341 
15.1 地图设计器 341 
15.1.1 不可或缺的地图设计器 341 
15.1.2 简单的地图设计器 341 
15.2 多键技术 347 
15.2.1 增加游戏可玩度的多键技术 347 
15.2.2 多键技术的实例演示 348 
15.3 虚拟键盘 350 
15.4 查找表技术 351 
15.5 状态机 352 
15.6 aabb边界框 354 
15.6.1 aabb的表达方法 355 
15.6.2 计算aabb 355 
15.6.3 aabb与边界球的比较 356 
15.6.4 球与球的碰撞 357 
15.6.5 两个aabb的碰撞 358 
15.6.6 球与aabb的碰撞 361 
15.7 穿透效应 363 
15.8 拾取技术 367 
15.8.1 拾取技术的原理 367 
15.8.2 拾取技术的实现 369 
15.9 天空盒与天空穹 377 
15.9.1 天空盒的介绍 377 
15.9.2 天空穹的介绍 380 
15.10 本章小结 382 
第二篇 案 例 实 战 
第16章 体育类游戏—《疯狂投篮》 384 
16.1 游戏的背景及功能概述 384 
16.1.1 背景概述 384 
16.1.2 功能简介 384 
16.2 游戏的策划及准备工作 388 
16.2.1 游戏的策划 388 
16.2.2 android平台下游戏的准备工作 388 
16.3 游戏的架构 389 
16.3.1 游戏中用到的主要技术 389 
16.3.2 各类的简要介绍 389 
16.3.3 游戏的框架简介 391 
16.4 游戏公共类的设计与实现 393 
16.4.1 主类basketballactivity的实现 393 
16.4.2 游戏常量类的介绍 396 
16.5 游戏菜单界面类的设计与实现 398 
16.5.1 游戏开始菜单的框架设计 398 
16.5.2 游戏开始菜单的实现 399 
16.5.3 游戏帮助、关于、加载及结束界面的设计与实现 402 
16.6 游戏界面的设计与实现 402 
16.6.1 游戏界面的框架设计 402 
16.6.2 游戏界面的实现 404 
16.7 游戏界面中主要场景的绘制及篮球运动 407 
16.7.1 游戏中墙壁、地板、球和篮板等的绘制 407 
16.7.2 篮板的整体绘制 409 
16.7.3 篮球的运动实现 410 
16.8 游戏界面的碰撞检测及物体拾取 413 
16.8.1 篮球与篮框的碰撞检测 413 
16.8.2 篮球与墙壁、地板和屋顶的碰撞检测 416 
16.8.3 手机屏幕拾取技术 418 
16.9 游戏的优化与改进 419 
第17章 益智类游戏—《旋转积木》 421 
17.1 游戏的背景及功能概述 421 
17.1.1 背景概述 421 
17.1.2 功能简介 421 
17.2 游戏的策划及准备工作 424 
17.2.1 游戏的策划 424 
17.2.2 android平台下游戏的准备工作 424 
17.3 游戏的架构 425 
17.3.1 游戏中用到的主要技术 425 
17.3.2 各类的简要介绍 425 
17.3.3 游戏的框架简介 427 
17.4 地图设计器的开发 428 
17.5 游戏公共类的设计与实现 431 
17.5.1 主类mainactivity的实现 431 
17.5.2 游戏常量类的介绍 434 
17.6 游戏菜单界面类的设计与实现 437 
17.6.1 游戏开始菜单的框架设计 438 
17.6.2 游戏开始菜单的实现 439 
17.6.3 游戏帮助、关于、设置及胜利界面的设计与实现 441 
17.7 游戏界面的设计与实现 442 
17.7.1 游戏界面的框架设计 442 
17.7.2 游戏触控方法的实现 443 
17.7.3 游戏界面的实现 445 
17.7.4 生成纹理id的方法 448 
17.8 游戏界面中主要场景的绘制 449 
17.8.1 游戏中背景、移表板、图标的绘制 449 
17.8.2 地图的绘制 450 
17.8.3 积木的绘制 451 
17.9 游戏界面的动画效果 453 
17.9.1 积木转动的动画效果 453 
17.9.2 游戏失败、获胜的动画效果 457 
17.10 游戏界面的碰撞检测 458 
17.11 游戏的优化与改进 460 
第18章 休闲类游戏—《摩天大楼》 461 
18.1 游戏的背景及功能概述 461 
18.1.1 背景概述 461 
18.1.2 功能简介 461 
18.2 游戏的策划及准备工作 465 
18.2.1 游戏的策划 465 
18.2.2 android平台下游戏的准备工作 465 
18.3 游戏的架构 466 
18.3.1 游戏中用到的主要技术 466 
18.3.2 各类的简要介绍 467 
18.3.3 游戏的框架简介 468 
18.4 游戏公共类的设计与实现 469 
18.4.1 主类gl_demo的实现 469 
18.4.2 游戏常量类的介绍 474 
18.5 游戏菜单界面类的设计与实现 475 
18.5.1 游戏开始菜单的框架设计 475 
18.5.2 游戏开始菜单的实现 476 
18.5.3 游戏帮助、关于、设置、加载及胜利界面的设计与实现 481 
18.6 游戏界面的设计与实现 481 
18.6.1 游戏界面的框架设计 481 
18.6.2 游戏界面的实现 483 
18.7 游戏界面中主要场景的绘制 487 
18.7.1 游戏中背景、地板、建筑块的绘制 487 
18.7.2 树的绘制 487 
18.8 游戏界面的碰撞检测 488 
18.9 游戏的优化与改进 492 
第19章 动作类游戏—《3d空战》 493 
19.1 游戏的背景及功能概述 493 
19.1.1 背景概述 493 
19.1.2 功能简介 494 
19.2 游戏的策划及准备工作 496 
19.2.1 游戏的策划 496 
19.2.2 android平台下游戏的准备工作 497 
19.3 游戏的架构 498 
19.3.1 游戏中用到的主要技术 498 
19.3.2 各类的简要介绍 498 
19.3.3 游戏的框架简介 500 
19.4 游戏公共类的设计与实现 502 
19.4.1 主类gl_demo的实现 502 
19.4.2 游戏常量类的介绍 503 
19.5 游戏菜单界面类的设计与实现 504 
19.5.1 游戏菜单的框架设计 504 
19.5.2 游戏菜单的实现 506 
19.5.3 游戏帮助、关于、设置、加载及胜利界面的设计与实现 509 
19.6 游戏界面的设计与实现 509 
19.6.1 游戏界面的框架设计 509 
19.6.2 游戏界面的实现 511 
19.7 游戏界面中飞机的绘制 513 
19.8 游戏中的运动线程和碰撞检测 515 
19.9 游戏的优化与改进 525 
第20章 桌面类游戏—《激情台球》 527 
20.1 游戏的背景及功能概述 527 
20.1.1 背景概述 527 
20.1.2 功能简介 527 
20.2 游戏的策划及准备工作 531 
20.2.1 游戏的策划 531 
20.2.2 android平台下游戏的准备工作 532 
20.3 游戏的架构 533 
20.3.1 游戏中用到的主要技术 533 
20.3.2 各类的简要介绍 533 
20.3.3 游戏的框架简介 535 
20.4 网络端的开发 536 
20.4.1 服务器的简要介绍 536 
20.4.2 服务器的代码介绍 537 
20.4.3 客户端线程的代码介绍 542 
20.5 游戏公共类的设计与实现 545 
20.5.1 主类myactivity的实现 545 
20.5.2 游戏常量类的介绍 549 
20.6 游戏菜单界面类的设计与实现 551 
20.6.1 游戏开始菜单的框架设计 552 
20.6.2 游戏菜单的动画实现 555 
20.6.3 游戏帮助、关于、设置及胜利等界面的设计与实现 556 
20.7 游戏界面的设计与实现 557 
20.7.1 游戏界面的框架设计 557 
20.7.2 游戏中onkeydown方法的实现 558 
20.7.3 游戏界面的实现 560 
20.8 游戏界面中主要场景的绘制 563 
20.8.1 仪表板、地板的绘制 563 
20.8.2 台球桌的绘制 564 
20.8.3 球的绘制 566 
20.9 游戏中的碰撞检测 567 
20.9.1 球与球台边角碰撞检测的原理 567 
20.9.2 球与球碰撞检测的原理 569 
20.9.3 球与球台边角碰撞检测的实现 570 
20.9.4 球与球碰撞检测的实现 574 
20.9.5 球运动线程的实现 576 
20.10 游戏的优化与改进 578 
第21章 射击类游戏—《抢滩登陆》 579 
21.1 游戏的背景及功能概述 579 
21.1.1 背景概述 579 
21.1.2 功能简介 579 
21.2 游戏的策划及准备工作 583 
21.2.1 游戏的策划 583 
21.2.2 android平台下游戏的准备工作 583 
21.3 游戏的架构 584 
21.3.1 游戏中用到的主要技术 584 
21.3.2 各类的简要介绍 585 
21.3.3 游戏的框架简介 588 
21.4 游戏公共类的设计与实现 589 
21.4.1 主类activity的实现 590 
21.4.2 游戏常量类的介绍 594 
21.5 游戏菜单界面类的设计与实现 598 
21.5.1 游戏菜单界面的框架设计 598 
21.5.2 游戏菜单界面的实现 600 
21.5.3 游戏帮助、关于及结束界面的设计与实现 604 
21.6 游戏界面的设计与实现 605 
21.6.1 游戏界面的框架设计 605 
21.6.2 游戏界面的实现 607 
21.7 游戏界面中主要场景的绘制及实物运动 613 
21.7.1 游戏中的绘制 613 
21.7.2 灯塔的整体绘制 614 
21.7.3 物体的运动实现 616 
21.8 游戏中的碰撞检测 621 
21.9 游戏的优化与改进 625 
第22章 竞技类游戏—《乡村飙车》 627 
22.1 游戏的背景及功能概述 627 
22.1.1 背景概述 627 
22.1.2 功能简介 627 
22.2 游戏的策划及准备工作 631 
22.2.1 游戏的策划 631 
22.2.2 android平台下游戏的准备工作 632 
22.3 游戏的框架介绍 634 
22.3.1 游戏中用到的主要技术 634 
22.3.2 各类的简单介绍 635 
22.3.3 游戏的框架介绍 638 
22.4 游戏公共类的设计与实现 640 
22.4.1 主类activity_gl_racing的实现 640 
22.4.2 游戏常量类的介绍 645 
22.5 游戏菜单类的设计与实现 649 
22.5.1 游戏主菜单的设计与实现 650 
22.5.2 游戏加载界面的设计与实现 651 
22.5.3 游戏历史界面的设计与实现 656 
22.5.4 游戏帮助、设置、关于、选择等界面的设计与实现 658 
22.6 游戏界面的设计与实现 659 
22.6.1 游戏界面的框架设计 659 
22.6.2 游戏界面的实现 661 
22.6.3 传感器应用与多点触控技术 665 
22.7 游戏界面中主要场景的绘制 666 
22.7.1 游戏界面中场景的分层绘制及渲染优化 667 
22.7.2 游戏界面中地图赛道的生成与绘制 669 
22.7.3 场景部件的绘制 671 
22.7.4 游戏中汽车的加载 673 
22.7.5 游戏中树的绘制技术 677 
22.7.6 场景中游戏辅助部件的绘制 679 
22.8 游戏中的碰撞检测及行驶圈数判定 681 
22.8.1 汽车与公路部件的碰撞检测 683 
22.8.2 汽车行驶圈数判定 685 
22.8.3 汽车与可碰撞部件的碰撞检测及其动画实现 686 
22.9 游戏的优化与改进 688 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本书共分两篇,第一篇介绍了Android 3D游戏开发的基础知识,主要对OpenGL ES的相关内容进行了介绍。   章 名主 要 内 容   第1章 英雄还看今朝—Android简介本章介绍了市场上主流的手机平台,同时也分析了未来手机平台的发展趋势及Android平台的前景   第2章 数风流人物—当前流行游戏类型简介本章以分类的方式简要地介绍了当前流行的游戏的玩法,游戏的视觉效果,游戏的设计及《仙剑》等著名游戏的历史   第3章 不积跬步,无以至千里—游戏开发基础知识本章初步介绍了游戏开发的基础知识   第4章 千里之行,始于足下—3D开发基础知识本章介绍了3D开发中的基础知识,包括OpenGL ES的介绍及OpenGL ES中绘制模型的原理,并通过点、线和三角形的绘制介绍了OpenGL ES中模型的几种绘制方式。最后介绍了3D场景中常用的两种投影方式,并通过例子比较了这两种投影的区别   第5章 愿君多采撷,此物最相思—光照效果的开发本章介绍了光照的基础知识,包括环境光、散射光及镜面光   第6章 为伊消得人憔悴——纹理映射本章主要介绍了纹理的基础知识,以及纹理的不同拉伸方式和纹理过滤高级技术,从绘制三角形开始到绘制地月系,可能会经历很长时间,但是这对以后的学习是有帮助的   第7章 海阔凭鱼跃,天高任鸟飞—3D基本形状的构建在本章中介绍了圆柱体、圆锥体、圆环、抛物面、双曲面和螺旋面在OpenGL ES中的渲染方法。这些基本形状在3D世界中应用广泛,在构造一些复杂物体时,经常会运用这些基本形状来进行拼装组合   第8章 执子之手,与子偕老—坐标变换本章介绍了坐标变换的应用。绘制3D场景的过程,主要是旋转和平移操作的组合,通过合理的堆栈操作,就比较容易绘制出所需的3D场景   第9章 孤帆远影碧空尽—摄像机与雾特效在本章中,首先对摄像机及其配置做了介绍。摄像机在3D编程中至关重要,没有正确的配置,摄像机可能不能获得想要的场景效果。然后对雾特效做了具体介绍,应用雾特效可以使场景更加逼真,并且可以减少场景渲染量来提高性能   第10章 假作真时真亦假—混合本章主要为读者介绍了混合,从混合的背景知识到如何配置源因子和目标因子。在介绍源因子和目标因子的时候,向读者介绍了一些预定义常量和一些常用的组合方式,以及如何启用混合   第11章 蓦然回首,那人却在灯火阑珊处—3D高级技术本章主要为读者介绍了3D的一部分高级技术。每一项技术通过讲解其原理和案例,使读者对3D高级技术有一定的了解   第12章 心有灵犀一点通—传感器在本章中,向读者介绍了Android中传感器的相关知识。包括传感器的种类、配置,并且着重介绍了姿态传感器的应用   第13章 千锤万凿出深山—游戏中的数学与物理在本章中对3D游戏中可能会用到的数学及物理知识进行了简单的介绍,这在3D游戏开发中是相当重要的。游戏中的核心算法,基本上都要用到数学和物理知识。一款游戏的性能很大程度上取决于游戏设计的算法   第14章 山舞银蛇,原驰蜡象—AI基本理念本章主要介绍了AI、AI引擎的基本组成与设计,以及游戏AI中图的搜索和模糊逻辑,其中游戏AI中图的搜索为本章的重点。在本章中详细介绍了5种算法的原理与实现   第15章 独上高楼,望尽天涯路—开发小秘籍本章介绍了地图设计器、多键技术、虚拟键盘、查找表技术、状态机、AABB边界框、穿透效应、拾取技术,以及天空盒和天空穹在OpenGL ES中的应用 第二篇以7个比较大的案例来说明Android平台下3D游戏的开发流程,通过这7个案例的讲解,读者对3D游戏的开发将会有更深层次的理解。   章 名主 要 内 容   第16章 体育类游戏——《疯狂投篮》本章介绍了Android 3D游戏《疯狂投篮》的开发。通过该案例向读者介绍了在Android平台下进行3D游戏开发的相关知识和基本流程,并对游戏开发中的编程技巧进行了介绍,并主要介绍了篮球与地面、墙面及篮框的碰撞检测及运动动画的实现方法   第17章 益智类游戏——《旋转积木》本章介绍了Android 3D游戏《旋转积木》的开发。主要介绍了积木旋转的不同状态的实现方法和地图设计器的应用   第18章 休闲类游戏——《摩天大楼》本章介绍了Android 3D游戏《摩天大楼》的开发。主要介绍了楼层与楼层之间的衔接与碰撞及掉落后翻转动画的实现   第19章 动作类游戏——《3D空战》本章介绍了Android 3D游戏3D空战》的开发。主要介绍了飞机的构造方法和我方战机与敌方战机的操控及动画实现   第20章 桌面类游戏——《激情台球》本章介绍了Android 3D游戏《激情台球》的开发。主要介绍了台球与台球的碰撞检测实现、台球与球桌的碰撞检测实现和进球的判定实现   第21章 射击类游戏——《抢滩登陆》本章介绍了Android 3D游戏《抢滩登陆》的开发。主要运用了灰度图生成技术并且主要介绍了坦克运动的实现方法及炮弹碰撞检测的实现   第22章 竞技类游戏——《乡村飙车》本章介绍了Android 3D游戏《乡村飙车》的开发。主要介绍了运用分层绘制和拼接绘制的策略进行场景的优化绘制,并且对场景部件进行了分类控制   本书面向的读者   本书的内容详细,且几乎涵盖了Android 3D游戏开发所有相关的技术,并向读者介绍了真实项目的开发流程,主要面向以下读者。   Android的初学者   本书详细介绍了OpenGL ES的基础知识,并对Android 3D游戏程序的开发进行了介绍。作为一名Android的初学者,通过本书的学习可以快速全面地掌握Android 3D游戏开发的相关知识,稳健地步入Android 3D游戏开发人员的行列。   有一定Android基础且希望学习Android 3D游戏开发的读者   有一定Android基础的读者通过阅读本书的前半部分便可快速掌握OpenGL ES的基础知识,然后通过7个真实案例的学习迅速掌握Android平台下应用程序的开发。   在职的开发人员
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值