前 言
游戏开发物理学(第2版)
谁适合读这本书?
简单来说,这本书是专为那些没有扎实的物理或机械基础的游戏开发者编写的。特别是他们要在游戏中加入真实物理(real physics)时。
作为一个游戏开发者,很可能你自己也是个玩家,你通常会看到游戏产品标榜自己“超写实(ultra-realistic)”,或者直接描述成“现实世界物理(real-world physics)”。同时,你或者你的公司市场部想知道如何对你们的游戏进行测试才能获得这样逼真的效果。又或许你想要尝试一些全新的、需要了解真实物理的游戏。那么现在唯一的问题就是:你大学物理期末考试之后就把教科书扔到湖里了,从那之后再也没碰过这门课。可能你有个相当酷的物理引擎许可证,但是你对于它最基础的工作原理毫无头绪,也不知道这些原理如何影响着你的建模。又或许你被委派了一项任务,需要用到别人写的物理代码,但是你完全无法理解它是如何运作的。擦亮眼睛看这边,本书就是为你编写的!
你可以在互联网、期刊、杂志上找到讲解怎样把物理添加到游戏中的相关教程,你甚至可以把已经丢到湖里的那本物理教科书捞出来然后从头开始啃。但是,你会发现这些东西要么泛泛而谈让你没法下手,要么讲得太深入让你必须找些参考资料研读。本书会将你需要的信息汇集起来,为你提供一个恰到好处的起点,把物理学融入你的游戏。
这本书并不像那些实例书,仅仅给你一些解决各种纷杂问题的示例代码。互联网上这种程序的例子非常多(我们可能将其中一些非常好的例子加入书中)。比起给你一系列解决特定问题的方案,我们的目标是让你对相关主题有一个深入浅出的了解,这样你就可以对一些问题列出你自己的解决方法。我们会针对将物理原理应用于游戏这一过程进行详细的解释,并在示例程序之外提供一些附加的手工计算例子来达到目标。
目 录
第一部分 基础
第1章 基本概念
1.1 牛顿运动定律
1.2 单位和度量
1.3 坐标系
1.4 向量
1.5 微分和积分
1.6 质量、质心和转动惯量
1.7 牛顿第二运动定律
1.8 惯性张量
1.9 相对论时间
第2章 运动学
第3章 力
第4章 动理学
第5章 碰撞
第6章 抛体
第二部分 刚体动力学
第7章 实时仿真
第8章 粒子
第9章 2D刚体仿真器
第10章 实现碰撞响应
第11章 3D刚体仿真中的转动
第12章 3D刚体仿真
第13章 连接物体
第14章 物理引擎
第三部分 物理模型
第15章 飞机
第16章 船舶
第17章 汽车和气垫船
第18章 枪支和爆炸
第19章 运动
第四部分 数码物理学
第20章 触摸屏
第21章 加速度计
第22章 从这里到那里的游戏
第23章 压力传感器和称重传感器
第24章 3D显示
第25章 光学追踪
第26章 声音
附录A 向量运算
附录B 附录B 矩阵运算
附录C 附录C 四元数运算