第1部分 虚拟世界 3
第1章 Unreal引擎概述 3
1.1 Unreal及其历史 3
1.2 Unreal引擎 5
1.2.1 Unreal引擎介绍 5
1.2.2 引擎架构组成部分 6
1.2.3 各部分之间的交互 8
1.2.4 运行时的组件交互 9
1.3 使用Unreal引擎建构新的世界 10
1.3.1 开发原料 10
1.3.2 开发工具 12
1.4 小结 15
第2章 游戏开发的过程 17
2.1 项目开始前 17
2.1.1 构思 18
2.1.2 组建开发团队 21
2.1.3 通过团队合作完善设想 24
2.1.4 制定项目进度计划 25
2.2 项目制作过程中 25
2.2.1 保持进度 25
2.2.2 处理延期 26
2.2.3 利用原料整合制作 26
2.3 测试并获得反馈 27
2.3.1 内部测试:早期 27
2.3.2 外部测试:中期 27
2.4 修改并完成:结束期 28
2.4.1 如何利用中期测试获得的反馈 28
2.4.2 何时结束中期测试 28
2.4.3 完成并发布 29
2.5 小结 29
第3章 用Unreal引擎编辑器制作第一个关卡 31
3.1 什么是Unreal引擎编辑器 32
3.1.1 使用挖空的方式构建关卡 32
3.1.2 重新编译关卡 33
3.2 剖析一个用Unreal引擎制作的关卡 33
3.2.1 虚拟世界的几何构成 33
3.2.2 游戏物件 34
3.2.3 组装建构 35
3.3 初步认识编辑器的用户界面 35
3.3.1 主菜单栏 35
3.3.2 工具栏 35
3.3.3 工具盒 36
3.3.4 视图 36
3.3.5 控制栏 36
3.3.6 浏览器 36
3.3.7 属性窗口 36
3.4 在三维环境中工作 37
3.4.1 二维和三维的对比 37
3.4.2 正向和反向 38
3.5 制作第1个房间 38
3.5.1 挖出空间:多高比较合适 39
3.5.2 深入讲解笔刷造型 41
3.5.3 Unreal编辑器中的视角移动 43
3.5.4 如何在编辑器中移动游戏物件 44
3.6 制作第1个关卡 45
3.6.1 挖出第一个房间 45
3.6.2 赋予贴图 46
3.6.3 贴图适配 48
3.6.4 确保关卡可以运行 49
3.7 扩展关卡:创建对象和加入灯光 51
3.8 增加细节:静态模型 57
3.8.1 静态模型浏览器 57
3.8.2 放置静态模型 58
3.8.3 使用静态模型装饰场景 61
3.9 小结 62
第4章 高级造型笔刷技巧 63
4.1 BSP原理 64
4.1.1 多边形 64
4.1.2 BSP树 65
4.2 利用笔刷制作笔刷 67
4.2.1 交集工具 67
4.2.2 反交集工具 68
4.3 笔刷操作技巧 70
4.3.1 顶点编辑 71
4.3.2 面拖动 72
4.3.3 笔刷剪切(二维和三维) 72
4.4 手绘多边形造型工具 77
4.5 二维造型编辑器 79
4.5.1 用户界面概述 79
4.5.2 造型编辑 80
4.5.3 使用二维造型编辑器制作简单的关卡 85
4.6 造型笔刷的固体形态 87
4.6.1 固体笔刷 88
4.6.2 半固体笔刷 90
4.6.3 非固体笔刷 91
4.7 保存造型笔刷(u3d文件) 92
4.8 导入/导出笔刷 92
4.9 小结 93
第5章 自然地形系统 95
5.1 什么是自然地形系统 95
5.2 自然地形系统的组成 96
5.2.1 利用分区信息体给自然地形安排分区 96
5.2.2 使用自然地形信息体 96
5.2.3 利用高度图控制自然地形的外观 97
5.3 图层 97
5.4 使用地形编辑对话框修改地形 98
5.5 利用太阳光给自然地形打光 103
5.6 天空背景盒 105
5.6.1 何谓天空背景盒 105
5.6.2 天空背景盒是如何工作的 105
5.7 深入讲解自然地形编辑 110
5.7.1 地形编辑用户界面 110
5.7.2 高度图编辑工具 113
5.7.3 选取工具 116
5.7.4 操作自然地形编辑工具 119
5.8 自然地形信息体的属性 124
5.9 地形图层编辑工具 125
5.9.1 喷涂 125
5.9.2 平滑 126
5.9.3 噪声 126
5.9.4 贴图平移 126
5.9.5 贴图旋转 126
5.9.6 贴图缩放 127
5.10 编辑地形贴图 127
5.11 植被装饰图层 130
5.12 小结 138
第6章 域及其使用 139
6.1 域的概念 139
6.2 基本的域 141
6.2.1 域的属性 141
6.2.2 装饰列表 141
6.2.3 阻挡域 144
6.3 物理域 146
6.3.1 水域 149
6.3.2 熔岩域 153
6.3.3 坠落域 154
6.3.4 直梯域 154
6.4 小结 156
第7章 Unreal引擎中的光影 157
7.1 光影的相关概念 157
7.1.1 光影贴图 158
7.1.2 光源放置 158
7.2 光的分类 159
7.2.1 静态光 159
7.2.2 动态光 159
7.3 光照属性 159
7.3.1 光的颜色 160
7.3.2 光照半径 160
7.3.3 光照类型和效果 160
7.3.4 定向光 161
7.4 打光的工作流程 165
7.4.1 光源的创建 165
7.4.2 观察光照效果 165
7.4.3 调整和把握光效 167
7.4.4 重编译光影 168
7.4.5 光影贴图尺寸 170
7.5 给场景打光 171
7.5.1 场景几何体 171
7.5.2 静态模型、模型和移动模型 171
7.5.3 自然地形 172
7.5.4 粒子 173
7.6 高级光照效果 173
7.6.1 光的缩放 173
7.6.2 使用特殊光照标签 175
7.6.3 环境光照 176
7.6.4 将其他游戏物件用做光源 176
7.6.5 光晕 177
7.6.6 使用可触发光源 179
7.7 投映器 181
7.8 常见的打光败笔 185
7.9 小结 186
第8章 在Unreal引擎中制作材质 187
8.1 贴图 187
8.1.1 制作贴图 189
8.1.2 导入贴图 192
8.1.3 贴图属性窗口 194
8.1.4 贴图属性 195
8.2 着色器 197
8.2.1 漫射贴图与高光贴图 198
8.2.2 透明贴图 201
8.2.3 自发光贴图 201
8.2.4 其他属性 201
8.3 修改器 202
8.3.1 色泽修改器 202
8.3.2 振荡修改器 203
8.3.3 平移修改器 204
8.3.4 旋转修改器 205
8.3.5 缩放修改器 206
8.3.6 合成修改器 206
8.4 使用立方贴图和环境贴图制作表面反射效果 208
8.5 终极调和材质 213
8.6 使用脚本化实时材质 215
8.7 小结 220
第9章 互动元素 221
9.1 可运动模型 221
9.2 触发器介绍 225
9.3 升降梯 227
9.3.1 一个简单的升降梯:利用触发器 227
9.3.2 复杂升降梯制作概述 230
9.4 跳板 242
9.5 传送门 244
9.6 小结 246
第2部分 高级设计技术 249
第10章 制作粒子效果 249
10.1 粒子系统原理 249
10.2 精灵粒子生成器(SpriteEmitter) 251
10.3 火花状粒子生成器(SparkEmitter) 265
10.4 模型粒子生成器(MeshEmitter) 268
10.5 波状粒子生成器(BeamEmitter) 270
10.6 尾迹粒子生成器(TrailEmitter) 274
10.7 小结 276
第11章 Karma物理引擎 277
11.1 Karma物理引擎原理 278
11.1.1 Karma物理的普通属性 280
11.1.2 Karma物理的碰撞检测模型 282
11.2 约束体(Constraint) 283
11.2.1 球窝约束体(KBSJoint) 283
11.2.2 锥状限制体(KConeLimit) 286
11.2.3 铰链(KHinge) 288
11.3 玩偶化角色物理(Ragdoll) 292
11.4 Karma物理创作工具(KAT) 293
11.4.1 工具界面 294
11.4.2 工作区 294
11.4.3 视图 295
11.5 小结 304
第12章 高级程序角色寻路 305
12.1 程序角色寻路的基础 306
12.2 纠错工具 310
12.2.1 利用关卡自检工具诊断各种问题 310
12.2.2 控制台命令 311
12.3 铺设路径 311
12.3.1 跳板和传送门 312
12.3.2 跳跃点 312
12.3.3 门 315
12.3.4 升降梯 317
12.3.5 直梯 318
12.4 高级路径铺设技巧 319
12.4.1 进攻路线 319
12.4.2 防御点和狙击点 321
12.4.3 为交通工具铺设路径 322
12.5 小结 322
第13章 实时影片系统:创建游戏过场 323
13.1 介绍实时影片的世界 324
13.2 实时影片系统概述 324
13.3 实时影片系统界面 326
13.3.1 场景页面 326
13.3.2 动作页面 326
13.3.3 子动作页面 327
13.3.4 工具页面 327
13.4 创建一个简单的实时影片 327
13.5 使用场景管理器 330
13.6 触发实时影片桥段 330
13.7 控制镜头的运动路径 332
13.8 制作镜头定格和切换 334
13.9 进一步介绍子动作 335
13.9.1 设置镜头朝向 336
13.9.2 介绍淡入淡出 337
13.10 使用实时影片系统控制物件 338
13.11 给过场加入字幕 339
13.12 增加更多的影片感 342
13.13 自动运行实时影片 342
13.14 利用实时影片系统切换关卡 343
13.15 小结 345
第14章 编写脚本化游戏桥段 347
14.1 使用函数列表 348
14.1.1 使用时滞和无时滞函数 348
14.1.2 控制程序角色 352
14.2 逻辑条件 356
14.3 小结 358
第15章 关卡优化及发布 359
15.1 关卡优化介绍 359
15.2 分区 360
15.3 遮挡体 363
15.4 远景雾化 365
15.5 自然地形优化 367
15.6 检查和纠错 368
15.6.1 视窗显示模式 368
15.6.2 控制台命令 369
15.7 小结 370
第16章 游戏模式 371
16.1 设置关卡属性 372
16.2 死亡竞赛风格的游戏模式 373
16.2.1 加入武器 374
16.2.2 在设计上需要考虑的因素 377
16.3 夺旗模式 377
16.4 重控制模式 380
16.5 炸弹追逐模式 382
16.6 节点争夺模式 384
16.7 攻防模式 394
16.8 小结 405
第3部分 外围设计技术 409
第17章 Maya概述 409
17.1 Y轴朝上与Z轴朝上 409
17.2 Maya工作原理 410
17.2.1 节点及其连接 410
17.2.2 建模历史 412
17.3 用户界面概述 414
17.3.1 视图 415
17.3.2 主菜单栏和菜单组 417
17.3.3 状态栏 418
17.3.4 工具架 419
17.3.5 通道盒和层编辑器 420
17.3.6 属性编辑器 422
17.3.7 时间和范围滑栏 423
17.3.8 工具箱和视图布局 424
17.3.9 快捷菜单盒 425
17.4 材质编辑器 425
17.5 Hypergraph窗口 427
17.6 操纵物体 428
17.6.1 物体模式 428
17.6.2 组件模式 431
17.7 小结 435
第18章 多边形建模工具 437
18.1 建模术语 438
18.2 建模方法 439
18.2.1 立方体建模法 439
18.2.2 多边形建模法 440
18.3 解多边形工具选项和显示设置 440
18.4 Maya中的多边形建模 443
18.4.1 创建多边形 443
18.4.2 给现有多边形加面 444
18.4.3 合并物体 446
18.4.4 使用布尔运算 447
18.4.5 镜像 448
18.4.6 平滑与顶点平均化的比较 449
18.4.7 三角化 451
18.4.8 清理多边形 452
18.5 编辑多边形 454
18.5.1 细化多边形 454
18.5.2 切割多边形 455
18.5.3 挤压 456
18.5.4 倒角和圆角 459
18.5.5 劈切面 459
18.5.6 楔面 460
18.5.7 合并顶点 461
18.5.8 反转三角形的边 462
18.5.9 调整表面和硬边 463
18.6 小结 465
第19章 Maya的纹理艺术 467
19.1 UVs和UV坐标系统 467
19.2 UV纹理编辑器 469
19.2.1 菜单栏 469
19.2.2 工具栏 469
19.2.3 视图 471
19.3 投影UV坐标 472
19.4 创建UV分布 473
19.5 根据UV分布绘制贴图 476
19.6 角色的UV分布 479
19.7 UV分布的操作注意事项 483
19.8 小结 484
第20章 静态模型 485
20.1 静态模型的重要性 485
20.2 建模前的准备 486
20.2.1 调整网格 486
20.2.2 创建项目 487
20.3 制作走道 488
20.3.1 创建走道原型 488
20.3.2 建造直走道 504
20.3.3 制作斜坡匝道 508
20.3.4 制作弯道 510
20.3.5 制作T形路口 515
20.3.6 制作十字路口 518
20.4 碰撞检测模型 519
20.5 将模型导入到Unreal引擎编辑器中 521
20.6 小结 523
第21章 角色建模 525
21.1 准备 526
21.1.1 概念艺术 526
21.1.2 图像平面 526
21.2 建模过程 532
21.3 角色 534
21.3.1 制作躯体 534
21.3.2 腿部建模 539
21.3.3 手臂建模 542
21.3.4 足部建模 543
21.3.5 手部建模 545
21.3.6 头部建模 546
21.4 小结 548
第22章 将角色导入到Unreal引擎编辑器中 549
22.1 什么是骨架 549
22.2 初识Maya关节 550
22.2.1 父子关系 551
22.2.2 关节和父子关系 552
22.2.3 关节和旋转 553
22.2.4 使用关节工具 554
22.2.5 关节和局部坐标系 555
22.2.6 编辑关节 555
22.3 将角色绑定到骨架上:蒙皮 556
22.3.1 介绍圆滑绑定 557
22.3.2 调整关节影响度 559
22.4 导入没有动画的角色 561
22.4.1 导入一幅骨架 561
22.4.2 角色蒙皮 562
22.4.3 调整蒙皮权重 563
22.4.4 输出角色 565
22.4.5 为游戏设置好角色 566
22.4.6 创建角色肖像 570
22.4.7 UPL文件和在游戏中测试角色 572
22.5 小结 574
第23章 角色动画 575
23.1 初识动画 575
23.2 Maya的常用动画技术 576
23.2.1 关键帧动画 576
23.2.2 反应式动画 583
23.3 动画技术的选择——FK和IK 585
23.4 IK解算器 589
23.4.1 单链IK解算器 589
23.4.2 旋转平面IK解算器 590
23.4.3 样条曲线IK解算器 592
23.5 约束 593
23.6 选择手柄 595
23.7 角色控件:它们是什么,为何需要它们 596
23.7.1 创建角色控件 597
23.7.2 给角色蒙皮 612
23.8 给角色制作动画 612
23.8.1 逐个姿势地制作 613
23.8.2 创建动画剪辑 613
23.9 将动画输出到Unreal引擎编辑器中 621
23.10 小结 625
附录A Unreal引擎编辑器手册 629
A.1 主菜单栏 629
A.2 工具栏 631
A.2.1 文件操作 631
A.2.2 撤销和重做 631
A.2.3 搜索游戏物件 631
A.2.4 浏览器 632
A.2.5 编辑器 632
A.2.6 属性 632
A.2.7 编译 632
A.2.8 运行关卡 633
A.2.9 帮助 633
A.3 工具盒 633
A.3.1 镜头和操作区 634
A.3.2 笔刷剪切区 635
A.3.3 预设造型区 635
A.3.4 可塑固体几何操作区 640
A.3.5 选择和移动区 643
A.3.6 反转和其他功能区 644
A.4 视图 645
A.4.1 视图操控 645
A.4.2 视图控制栏 646
A.4.3 视图控制栏关联菜单 648
A.5 控制条 650
A.5.1 字符输入区 650
A.5.2 日志窗口 650
A.5.3 锁定选区 650
A.5.4 顶点吸附 650
A.5.5 网格 650
A.5.6 旋转间隔 651
A.5.7 最大化视图 651
A.5.8 三维缩放器 651
A.6 浏览器 651
A.6.1 游戏物件浏览器 651
A.6.2 组浏览器 653
A.6.3 音乐浏览器 655
A.6.4 音效浏览器 655
A.6.5 贴图浏览器 657
A.6.6 动画模型浏览器 659
A.6.7 预制浏览器 659
A.6.8 静态模型浏览器 661
A.6.9 动画浏览器 663
A.7 编辑器窗口 667
A.7.1 搜索游戏物件 667
A.7.2 二维造型编辑器 668
A.7.3 Unreal引擎脚本编辑器 668
A.8 属性窗口 668
A.8.1 游戏物件属性 668
A.8.2 几何表面属性 669