詳細介紹了在游戲開發中所應用的物理學的思想和原理,幫助讀者通過正確地應用物理規律增加游戲的物理真實度。
全書分為四部分,共26章。每個部分都基於前一部分所涵蓋的內容而講述。第一部分介紹基礎物理知識,第二部分介紹剛體動力學,第三部分介紹物理模型,第四部分介紹數碼物理學。《游戲開發物理學(第2版)》介紹了相關的概念和技術背景,給出了公式和一些代碼示例,展示了如何針對一系列問題開發出相應的解決方案。你將在書中學到碰撞、爆炸、聲音、拋體以及其他游戲效果的原理和實現,進而可以將其用於Wii、PlayStation、Xbox、智能手機或平板電腦上的游戲之中。
《游戲開發物理學(第2版)》適合那些想增加游戲真實的物理效果的游戲開發人員閱讀,尤其適合缺乏扎實的物理或機械基礎的游戲開發者。
David Bourg,MiNO Marine的創始人。MiNO Marine是一家從事海軍建築和海運專業服務的公司。他在20世紀90年代創建了一家開發兒童游戲、卡牌游戲以及進行PC到Mac軟件移植的公司。他也是《AI for Game Programmers》一書的合著者。
Bryan Bywalec是MiNO Marine的一名架構師,他每天的工作是精確地模擬物理世界。由於對物理的熱情,他偏愛那些重視物理效果的游戲,如《Kerble Space Program》。
目錄
第一部分 基礎 1
第1章 基本概念 3
1.1 牛頓運動定律 3
1.2 單位和度量 4
1.3 坐標系 6
1.4 向量 7
1.5 微分和積分 7
1.6 質量、質心和轉動慣量 8
1.7 牛頓第二運動定律 17
1.8 慣性張量 21
1.9 相對論時間 26
第2章 運動學 30
2.1 速度和加速度 31
2.2 恆定加速度 33
2.3 非恆定加速度 35
2.4 2D粒子運動學 36
2.5 3D粒子運動學 39
2.5.1 x分量 40
2.5.2 y分量 41
2.5.3 z分量 42
2.5.4 向量 42
2.5.5 擊中目標 42
2.6 運動粒子爆炸 47
2.7 剛體運動學 53
2.8 局部坐標軸 54
2.9 角速度和角加速度 54
第3章 力 61
3.1 力 61
3.2 力場 62
3.3 摩擦力 63
3.4 流體動力阻力 64
3.5 壓力 65
3.6 浮力 66
3.7 彈簧和阻尼器 68
3.8 力和轉矩 69
3.9 總結 71
第4章 動理學 72
4.1 2D粒子動理學 73
4.2 3D粒子動理學 78
4.2.1 x分量 79
4.2.2 y分量 80
4.2.3 z分量 81
4.2.4 大炮修訂版 81
4.3 剛體動理學 84
第5章 碰撞 88
5.1 沖量-動量原理 89
5.2 碰撞 90
5.3 線性沖量和角沖量 95
5.4 摩擦力 98
第6章 拋體 101
6.1 簡單軌跡 102
6.2 阻力 106
6.3 馬格努斯效應 113
6.4 質量變化 118
第二部分 剛體動力學 119
第7章 實時仿真 121
7.1 對運動方程進行積分 121
7.2 歐拉方法 123
7.3 更好的方法 129
7.4 總結 134
第8章 粒子 135
8.1 簡單粒子建模 139
8.1.1 積分器 141
8.1.2 渲染 141
8.2 基本仿真器 142
8.3 實現外部力 144
8.4 實現碰撞 146
8.4.1 粒子撞擊地面 146
8.4.2 粒子和障礙物之間的碰撞 152
8.5 調節 156
第9章 2D剛體仿真器 158
9.1 模型 159
9.1.1 轉換坐標 165
9.1.2 積分器 166
9.1.3 渲染 168
9.2 基本仿真器 168
9.3 調節 171
第10章 實現碰撞響應 173
10.1 直線碰撞響應 174
10.2 角度因素 180
第11章 3D剛體仿真中的轉動 193
11.1 旋轉矩陣 194
11.2 四元數 197
11.3 3D仿真中的四元數 204
第12章 3D剛體仿真 207
12.1 建模 207
12.2 積分 211
12.3 飛行控制 214
第13章 連接物體 219
13.1 彈簧和阻尼器 220
13.2 連接粒子 221
13.3 連接剛體 227
第14章 物理引擎 241
14.1 創建你自己的物理引擎 241
14.1.1 物理模型 243
14.1.2 模擬對象管理器 244
14.1.3 碰撞檢測 245
14.1.4 碰撞響應 246
14.1.5 力效應器 247
14.1.6 數值積分 248
第三部分 物理模型 249
第15章 飛機 251
15.1 幾何結構 252
15.2 升力和阻力 254
15.3 其他的力 259
15.4 控制 260
15.5 建模 261
第16章 船舶 275
16.1 穩定性和沉沒 276
16.1.1 穩定性 277
16.1.2 沉沒 278
16.2 船舶運動 280
16.2.1 起伏 280
16.2.2 側傾 281
16.2.3 俯仰 281
16.2.4 相關運動 281
16.3 阻力和推進 281
16.3.1 通用阻力 281
16.3.2 推進 286
16.4 機動性 287
第17章 汽車和氣墊船 290
17.1 汽車 290
17.1.1 阻力 290
17.1.2 功率 291
17.1.3 剎車距離 292
17.1.4 控制方向 292
17.2 氣墊船 295
17.2.1 氣墊船如何工作 295
17.2.2 阻力 297
17.2.3 轉向 299
第18章 槍支和爆炸 301
18.1 彈丸運動 301
18.2 瞄准 302
18.2.1 歸零准星 304
18.2.2 呼吸和身體位置 306
18.3 后坐力和碰撞 308
18.4 爆炸 308
18.4.1 粒子爆炸 309
18.4.2 多邊形爆炸 312
第19章 運動 315
19.1 高爾夫揮桿建模 316
19.2 台球 324
19.2.1 實現 326
19.2.2 執行初始化 328
19.2.3 步入仿真 331
19.2.4 計算力 333
19.2.5 處理碰撞 338
第四部分 數碼物理學 347
第20章 觸摸屏 349
20.1 觸摸屏類型 349
20.1.1 電阻式 349
20.1.2 電容式 349
20.1.3 紅外和光學成像 350
20.1.4 奇特的:色散信號和表面聲波 350
20.2 物理入門 350
20.2.1 電阻式觸摸屏 350
20.2.2 電容式觸摸屏 354
20.3 示例程序 355
20.4 其他注意事項 356
20.4.1 觸覺反饋 356
20.4.2 游戲中的觸摸屏建模 357
20.4.3 與鼠標輸入的差異 357
20.4.4 自定義手勢 358
第21章 加速度計 359
21.1 加速度理論 360
21.1.1 加速度計 361
21.1.2 通用加速度計技術規范 362
21.1.3 數據裁剪 363
21.2 感應方向 364
21.3 感應傾斜 365
21.3.1 用傾斜來控制一個動畫精靈 365
21.3.2 兩個自由度 366
第22章 從這里到那里的游戲 372
22.1 基於地理的游戲 372
22.1.1 地理藏寶和反向地理藏寶 372
22.1.2 混合現實 373
22.1.3 街頭游戲 373
22.2 現在什麼時候了? 373
22.3 地點、地點、地點 377
22.3.1 距離 377
22.3.2 大圓航向 379
22.3.3 恆向線 380
第23章 壓力傳感器和稱重傳感器 383
23.1 在壓強之下 383
23.2 粉碎按鈕 385
23.3 氣壓計 390
第24章 3D顯示 393
24.1 雙目視線 393
24.2 立體感基本概念 395
24.3 顯示的類型 399
24.3.1 補充色立體 399
24.3.2 線偏振和圓偏振 400
24.3.3 液晶等離子 402
24.3.4 裸眼立體效果 403
24.3.5 高級技術 405
24.4 編程方面的考慮 406
24.4.1 主動立體化 406
24.4.2 被動立體化 409
第25章 光學追蹤 410
25.1 傳感器和SDK 411
25.1.1 Kinect 411
25.1.2 OpenCV 412
25.2數值微分 413
第26章 聲音 416
26.1 聲音是什麼? 416
26.2 聲波的特點和行為 419
26.2.1 諧波 420
26.2.2 疊加 421
26.2.3 音速 422
26.2.4 衰減 423
26.2.5 反射 424
26.2.6 多普勒效應 425
26.3 3D音效 426
26.3.1 如何感受到3D音效 426
26.3.2 一個簡單的例子 428
附錄A 向量運算 431
附錄B 附錄B 矩陣運算 440
附錄C 附錄C 四元數運算 448
參考文獻 459
第1章 基本概念 3
1.1 牛頓運動定律 3
1.2 單位和度量 4
1.3 坐標系 6
1.4 向量 7
1.5 微分和積分 7
1.6 質量、質心和轉動慣量 8
1.7 牛頓第二運動定律 17
1.8 慣性張量 21
1.9 相對論時間 26
第2章 運動學 30
2.1 速度和加速度 31
2.2 恆定加速度 33
2.3 非恆定加速度 35
2.4 2D粒子運動學 36
2.5 3D粒子運動學 39
2.5.1 x分量 40
2.5.2 y分量 41
2.5.3 z分量 42
2.5.4 向量 42
2.5.5 擊中目標 42
2.6 運動粒子爆炸 47
2.7 剛體運動學 53
2.8 局部坐標軸 54
2.9 角速度和角加速度 54
第3章 力 61
3.1 力 61
3.2 力場 62
3.3 摩擦力 63
3.4 流體動力阻力 64
3.5 壓力 65
3.6 浮力 66
3.7 彈簧和阻尼器 68
3.8 力和轉矩 69
3.9 總結 71
第4章 動理學 72
4.1 2D粒子動理學 73
4.2 3D粒子動理學 78
4.2.1 x分量 79
4.2.2 y分量 80
4.2.3 z分量 81
4.2.4 大炮修訂版 81
4.3 剛體動理學 84
第5章 碰撞 88
5.1 沖量-動量原理 89
5.2 碰撞 90
5.3 線性沖量和角沖量 95
5.4 摩擦力 98
第6章 拋體 101
6.1 簡單軌跡 102
6.2 阻力 106
6.3 馬格努斯效應 113
6.4 質量變化 118
第二部分 剛體動力學 119
第7章 實時仿真 121
7.1 對運動方程進行積分 121
7.2 歐拉方法 123
7.3 更好的方法 129
7.4 總結 134
第8章 粒子 135
8.1 簡單粒子建模 139
8.1.1 積分器 141
8.1.2 渲染 141
8.2 基本仿真器 142
8.3 實現外部力 144
8.4 實現碰撞 146
8.4.1 粒子撞擊地面 146
8.4.2 粒子和障礙物之間的碰撞 152
8.5 調節 156
第9章 2D剛體仿真器 158
9.1 模型 159
9.1.1 轉換坐標 165
9.1.2 積分器 166
9.1.3 渲染 168
9.2 基本仿真器 168
9.3 調節 171
第10章 實現碰撞響應 173
10.1 直線碰撞響應 174
10.2 角度因素 180
第11章 3D剛體仿真中的轉動 193
11.1 旋轉矩陣 194
11.2 四元數 197
11.3 3D仿真中的四元數 204
第12章 3D剛體仿真 207
12.1 建模 207
12.2 積分 211
12.3 飛行控制 214
第13章 連接物體 219
13.1 彈簧和阻尼器 220
13.2 連接粒子 221
13.3 連接剛體 227
第14章 物理引擎 241
14.1 創建你自己的物理引擎 241
14.1.1 物理模型 243
14.1.2 模擬對象管理器 244
14.1.3 碰撞檢測 245
14.1.4 碰撞響應 246
14.1.5 力效應器 247
14.1.6 數值積分 248
第三部分 物理模型 249
第15章 飛機 251
15.1 幾何結構 252
15.2 升力和阻力 254
15.3 其他的力 259
15.4 控制 260
15.5 建模 261
第16章 船舶 275
16.1 穩定性和沉沒 276
16.1.1 穩定性 277
16.1.2 沉沒 278
16.2 船舶運動 280
16.2.1 起伏 280
16.2.2 側傾 281
16.2.3 俯仰 281
16.2.4 相關運動 281
16.3 阻力和推進 281
16.3.1 通用阻力 281
16.3.2 推進 286
16.4 機動性 287
第17章 汽車和氣墊船 290
17.1 汽車 290
17.1.1 阻力 290
17.1.2 功率 291
17.1.3 剎車距離 292
17.1.4 控制方向 292
17.2 氣墊船 295
17.2.1 氣墊船如何工作 295
17.2.2 阻力 297
17.2.3 轉向 299
第18章 槍支和爆炸 301
18.1 彈丸運動 301
18.2 瞄准 302
18.2.1 歸零准星 304
18.2.2 呼吸和身體位置 306
18.3 后坐力和碰撞 308
18.4 爆炸 308
18.4.1 粒子爆炸 309
18.4.2 多邊形爆炸 312
第19章 運動 315
19.1 高爾夫揮桿建模 316
19.2 台球 324
19.2.1 實現 326
19.2.2 執行初始化 328
19.2.3 步入仿真 331
19.2.4 計算力 333
19.2.5 處理碰撞 338
第四部分 數碼物理學 347
第20章 觸摸屏 349
20.1 觸摸屏類型 349
20.1.1 電阻式 349
20.1.2 電容式 349
20.1.3 紅外和光學成像 350
20.1.4 奇特的:色散信號和表面聲波 350
20.2 物理入門 350
20.2.1 電阻式觸摸屏 350
20.2.2 電容式觸摸屏 354
20.3 示例程序 355
20.4 其他注意事項 356
20.4.1 觸覺反饋 356
20.4.2 游戲中的觸摸屏建模 357
20.4.3 與鼠標輸入的差異 357
20.4.4 自定義手勢 358
第21章 加速度計 359
21.1 加速度理論 360
21.1.1 加速度計 361
21.1.2 通用加速度計技術規范 362
21.1.3 數據裁剪 363
21.2 感應方向 364
21.3 感應傾斜 365
21.3.1 用傾斜來控制一個動畫精靈 365
21.3.2 兩個自由度 366
第22章 從這里到那里的游戲 372
22.1 基於地理的游戲 372
22.1.1 地理藏寶和反向地理藏寶 372
22.1.2 混合現實 373
22.1.3 街頭游戲 373
22.2 現在什麼時候了? 373
22.3 地點、地點、地點 377
22.3.1 距離 377
22.3.2 大圓航向 379
22.3.3 恆向線 380
第23章 壓力傳感器和稱重傳感器 383
23.1 在壓強之下 383
23.2 粉碎按鈕 385
23.3 氣壓計 390
第24章 3D顯示 393
24.1 雙目視線 393
24.2 立體感基本概念 395
24.3 顯示的類型 399
24.3.1 補充色立體 399
24.3.2 線偏振和圓偏振 400
24.3.3 液晶等離子 402
24.3.4 裸眼立體效果 403
24.3.5 高級技術 405
24.4 編程方面的考慮 406
24.4.1 主動立體化 406
24.4.2 被動立體化 409
第25章 光學追蹤 410
25.1 傳感器和SDK 411
25.1.1 Kinect 411
25.1.2 OpenCV 412
25.2數值微分 413
第26章 聲音 416
26.1 聲音是什麼? 416
26.2 聲波的特點和行為 419
26.2.1 諧波 420
26.2.2 疊加 421
26.2.3 音速 422
26.2.4 衰減 423
26.2.5 反射 424
26.2.6 多普勒效應 425
26.3 3D音效 426
26.3.1 如何感受到3D音效 426
26.3.2 一個簡單的例子 428
附錄A 向量運算 431
附錄B 附錄B 矩陣運算 440
附錄C 附錄C 四元數運算 448
參考文獻 459
網路書店
類別
折扣
價格
-
新書87折$465