第1章 初识3D游戏开发 1
1.1 计算机游戏产业 1
1.1.1 3D游戏的类型和风格 2
1.1.2 游戏平台 7
1.1.3 游戏开发角色 9
1.1.4 发布游戏 12
1.2 3D 游戏的元素 13
1.2.1 游戏引擎 13
1.2.2 脚本 14
1.2.3 图形用户界面 15
1.2.5 纹理 16
1.2.4 模型 16
1.2.6 声音 17
1.2.7 音乐 17
1.2.8 支持底层结构 18
1.3 Torque Game Engine 19
1.3.1 介绍 19
1.3.2 本书中使用Torque 23
1.4 本章小结 24
第2章 初识编程 25
2.1 UltraEdit-32 25
2.1.1 程序安装和配置 25
2.1.2 创建项目和文件 26
2.1.3 查找和替换 29
2.1.4 Find in Files(在文件中查找) 30
2.1.5 grep 31
2.1.6 书签 34
2.1.7 宏 35
2.1.8 回顾UltraEdit 36
2.2 用程序控制计算机 36
2.3 编程概念 38
2.3.1 如何创建和运行示例程序 39
2.3.2 Hello World 39
2.3.3 表达式 41
2.3.4 变量 42
2.3.5 运算符 48
2.3.6 循环 51
2.3.7 函数 53
2.3.8 条件表达式 57
2.3.9 分支 59
2.3.10 调试并解决问题 66
2.3.1 1最佳的实践方式 69
2.4 本章小结 69
第3章 3D编程概念 70
3.1 3D概念 70
3.1.1 坐标系统 70
3.1.2 3D模型 72
3.1.3 3D形体 74
3.2.1 变换 76
3.2 3D模型显示 76
3.2.2 渲染 79
3.2.3 场景图 83
6.5.1 根主模块 1 84
3.2.4 3D音频 84
3.3.1 由程序控制的转变 85
3.3 3D编程 85
3.3.2 由程序控制的旋转 90
3.3.3 由程序控制的缩放 92
3.3.4 由程序控制的动画 93
3.3.5 3D音频 96
3.4 本章小结 98
4.1.1 字符串 100
4.1 Torque Script 100
第4章 游戏编程 100
4.1.2 对象 101
4.1.3 数据块 104
4.2 游戏结构 105
4.3 服务器和客户机设计问题 107
4.4 公共功能 108
4.5 准备工作 108
4.6 根主模块 109
4.7 控制主模块 112
4.8 初始化 114
4.9 客户机 116
4.10 服务器 120
4.11 玩家 122
4.12 运行Emaga4 124
4.13 本章小结 125
第5章 运行游戏 126
5.1 修改 126
5.1.1 文件夹 126
5.1.2 模块 127
5.2 控制模块 127
5.3 客户机控制模块 128
5.3.1 control/client/client.cs 128
5.3.2 control/client/interfaces/menuscreen.gui 130
5.3.3 control/client/interfaces/playerinterface.gui 133
5.3.4 control/client/interfaces/splashscreen.gui 136
5.3.5 control/client/misc/screens.cs 136
5.3.6 control/client/misc/presetkeys.cs 138
5.4 服务器控制模块 141
5.4.1 control/server/servercs 141
5.4.2 control/server/players/player.cs 145
5.4.3 control/server/weapons/weapon.cs 150
5.4.4 control/server/weapons/crossbow.cs 153
5.4.5 control/server/misc/item.cs 159
5.5 运行Emaga5 162
5.6 本章小结 163
6.1.1 CommandToServer 164
6.1 直接发送消息 164
第6章 网络 164
6.1.2 CommandToClient 165
6.1.3 直接发送消息小结 167
6.2 触发器 167
6.2.1 区域触发器 167
6.2.2 动画触发器 167
6.2.3 武器状态触发器 167
6.2.4 玩家事件控制触发器 168
6.3 GameConnection消息 169
6.3.1 GameConnection消息做什么 169
6.3.2 细节 169
6.4 查找服务器 173
6.4.1 修改代码 174
6.4.2 新模块 175
6.5 专用服务器 184
6.5.2 Control—Main模块 185
6.5.3 Control—Initialize模块 185
6.6 测试Emaga6 186
6.7 本章小结 187
第7章 公共脚本 188
7.1 游戏初始化 188
7.2 选出的公共服务器模块 192
7.2.1 服务器模块 192
7.2.3 任务载入模块 193
7.2.2 消息模块 193
7.2.4 MissionDownload模块 197
7.2.5 ClientConnection模块 200
7.2.6 Game模块 205
7.3 选中的公共代码客户机模块 207
7.3.1 Canvas模块 207
7.3.2 Mission模块 209
7.3.3 MissionDownload模块 210
7.3.4 Message模块 212
7.4 结束语 214
7.5 本章小结 219
8.1 使用纹理 220
第8章 纹理 220
8.2 Paint Shop Pro 224
8.2.1 安装Paint Shop Pro 224
8.2.2 开始 224
8.2.3 处理文件 230
8.2.4 Paint Shop Pro的功能 236
8.3 本章小结 248
第9章 外皮 249
9.1 UV展开 249
9.2 外皮创建过程 249
9.3 制作汤罐外皮 251
9.3.1 汤罐蒙皮过程 251
9.4 制作汽车的外皮 255
9.3.2 汤罐蒙皮试验 255
9.4.1 沙漠巡逻车“兜风” 256
9.4.2 轻便小汽车的蒙皮过程 256
9.4.3 轻便小汽车蒙皮试验 260
9.5 制作玩家外皮 260
9.5.1 头和颈 261
9.5.2 头发和手掌 265
9.5.3 衣服 269
9.5.4 调整外皮大小 271
9.6 本章小结 271
第10章 创建GUI元素 273
10.1 控件 274
10.1.1 GuiChunkedBitmapCtrl 276
10.1.2 GuiControl 277
10.1.3 GuiTextCtrl 277
10.1.4 GuiButtonCtrl 278
10.1.5 GuiCheckBoxCtrl 279
10.1.6 GuiScrollCtrl 280
10.1.7 GuiTextListCtrl 281
10.1.8 GuiTextEditCtrl 281
10.2 Torque GUI Editor 282
10.3 创建界面 285
10.4 本章小结 286
11.1.1 照片 287
11.1 资源 287
第11章 结构材质纹理 287
11.1.2 原创图形 292
11.2 比例问题 293
11.3 平铺 294
11.4 纹理类型 296
11.4.1 不规则纹理 296
11.4.2 粗糙纹理 297
11.4.3 卵石纹理 297
11.4.4 木材纹理 297
11.4.5 光滑纹理 298
11.4.6 图案纹理 298
11.4.9 反射纹理 299
11.4.7 织物纹理 299
11.4.8 金属纹理 299
11.4.10 塑料纹理 300
11.5 本章小结 300
第12章 地形 301
12.1 地形介绍 301
12.1.1 地形特征 301
12.1.2 地形数据 302
12.2 地形建模 303
12.2.1 高度图 303
12.2.2 地表物 304
12.2.3 平铺 305
12.3 创建地形 306
12.3.1 高度图方法 307
12.3.2 地表物应用 314
12.4 本章小结 318
第13章 MilkShape建模 319
13.1 MilkShape 3D 319
13.1.1 安装MilkShape 3D 319
13.1.2 MilkShape 3D GUI 319
13.1.3 视图导航 321
13.1.4 视图大小与方向 321
13.1.5 再次介绍“汤罐” 322
13.1.6 菜单 328
13.1.7 工具箱 334
13.1.8 Keyframer 339
13.1.9 Preferences对话框 340
13.1.10 其他功能 342
13.2 UVMapper 342
13.2.1 File菜单 342
13.2.2 Edit菜单 343
13.2.3 Help菜单 343
13.2.4 UV Mapping(UV贴图) 345
13.3 本章小结 349
14.1.2 Incremental PolygonConstruction(递增多边形构造法) 350
14.1.1 形体图元 350
14.1 建模技术 350
第14章 制作角色模型 350
14.1.3 轴向挤压 351
14.1.4 任意挤压 351
14.1.5 Topographical Shape Mapping(地形形体贴图) 351
14.1.6 混合法 351
14.2 基本“Hero”模型 352
14.2.1 头 352
14.2.2 躯干 358
14.2.3 将头部与躯干相匹配 365
14.2.4 腿 366
14.2.5 把腿集成到躯干上 368
14.2.6 胳膊 369
14.2.7 把胳膊集成到躯干上 374
14.3 Hero外皮 375
14.4 角色动画 380
14.4.1 在Torque中制作角色动画 380
14.4.2 建立骨架 382
14.4.3 搭建:骨架附着 383
14.4.4 为Torque导出模型 393
14.5 针对MilkShape的TorqueDTS Exporter 394
14.5.1 Torque Game Engine(DTS)Exporter对话框 394
14.5.2 特定材质 395
14.5.3 动画片段 397
14.6 本章小结 398
15.1.1 草图 399
第15章 制作交通工具模型 399
15.1 交通工具模型 399
15.1.2 模型 400
15.2 车轮 412
15.3 测试轻型小汽车模型 412
15.4 本章小结 413
第16章 制作武器和物品 414
16.1 药箱 414
16.1.1 模型 414
16.1.2 测试药箱 415
16.2 岩石 416
16.3 树 419
16.3.1 实体树 420
16.3.2 测试实体树 423
16.3.3 布告板树 423
16.3.4 测试布告板树 425
16.4 Tommy枪 425
16.4.1 建模 426
16.4.2 为Tommy枪蒙皮 430
16.4.3 测试Tommy枪 431
16.4.4 Tommy枪脚本 432
16.5 本章小结 432
17.1 安装QuArK 433
17.1.1 使用安装程序 433
第17章 制作结构体 433
17.1.2 配置 434
17.2 快速启动 436
17.3 建造桥梁 439
17.4 建造房屋 443
17.5 本章小结 447
第18章 制作游戏世界的环境 448
18.1 天空体(skybox) 448
18.1.1 制作天空体图片 451
18.1.2 调节透视 453
18.2 天空任务对象 454
18.3 云层 455
18.3.2 云朵纹理 456
18.3.1 云朵详述 456
18.4 雾 457
18.5 暴风雨 458
18.5.1 设置音效 458
18.5.2 暴风雨材质 462
18.5.3 闪电 463
18.5.4 雨 464
18.5.5 一场完美的暴风雨 465
18.6 水块 466
18.7 地形成型(Terraforming) 468
18.8 本章小结 470
19.1.1 安装Audacity 471
第19章 创建并编排音效 471
19.1 Audacity 471
19.1.2 使用Audacity 472
19.1.3 Audacity参考资料 474
19.2 OpenAL 481
19.3 音频配置文件和数据块 482
19.3.1 音频描述 482
19.3.2 进行试验 484
19.4 Koob 485
19.5 本章小结 487
第20章 游戏音效和音乐 488
20.1 游戏玩家音效 488
20.1.1 脚步声 489
20.1.2 说话 491
20.2 武器音效 492
20.3 车辆音效 499
20.4 环境音效 503
20.5 界面音效 505
20.6 音乐 506
20.7 本章小结 507
第21章 创建游戏任务 508
21.1 游戏设计 508
21.1.1 需求 508
21.1.2 约束 509
21.1.3 Koob 510
21.2 Torque任务编辑器 511
21.2.1 WorldEditor 512
21.2.2 TerrainEditor 514
21.2.3 Terrain Terraforn Editor 515
21.2.4 Terrain Texture Editor 516
21.2.5 MissionAreaEditor 516
21.3 建造场景 516
21.3.1 粒子 517
21.3.2 地形 526
21.3.3 物品和结构体 527
21.4 本章小结 529
22.1.1 游戏玩家产生 530
22.1 游戏玩家角色 530
第22章 游戏服务器 530
22.1.2 车辆装配 531
22.1.3 模型 532
22.1.4 服务器代码 533
22.2 车辆 536
22.2.1 模型 536
22.2.2 数据块 537
22.3 触发事件 539
22.3.1 创建触发器 539
22.3.2 计分 541
22.4 本章小结 547
23.1 客户机界面 548
第23章 游戏客户机 548
23.1.1 MenuScreen界面 549
23.1.2 SoloPlay界面 551
23.1.3 Host界面 551
23.1.4 FindServer界面 552
23.1.5 ChatBox界面 552
23.1.6 MessageBox界面 555
23.2 客户机代码 557
23.2.1 MenuScreen界面代码 557
23.2.2 SoloPlay界面代码 557
23.2.3 Host界面代码 561
23.2.4 FindServer界面代码 562
23.2.5 ChatBox界面代码 564
23.2.6 MessageBox界面代码 565
23.3 游戏循环 567
23.4 最后的修改 568
23.5 本章小结 569
第24章 游戏结束 570
24.1 测试 570
24.1.1 基本测试 570
24.1.2 退化 571
24.1.3 游戏测试 571
24.1.4 测试工具模块 571
24.2 主机服务器 571
24.4 FPS游戏想法 572
24.3 专用服务器 572
24.6 修改并扩展Torque 573
24.5 其他类型 573
24.7 放手去做吧 574
附录A Torque游戏引擎参考 575
A.1 Torque控制台脚本命令参考 575
A.2 Torque参考表格 627
附录B Internet上的游戏开发资源 642
B.1 与Torque相关的网站 642
B.2 游戏开发网站 643
C.1 共享软件和免费软件工具 647
C.1.1 建模 647
附录C 游戏开发工具参考 647
C.1.2 图像编辑 648
C.1.3 程序编辑 648
C.1.4 音频编辑 649
C.2 零售工具 649
C.3 GNU公众许可证 650
附录D QuArK参考 651
D.1 Map Editor(地图编辑器) 651
D.2 Configuration Utility 659
D.2.1 通用的 660
D.2.2 地图 661
D.3 map2dif参考 662