第1章 Unity 5简介 1
1.1 Unity 3D游戏引擎的诞生 2
1.2 Unity 5的优势 2
1.2.1 支持多平台 2
1.2.2 集成开发环境 3
1.2.3 所有功能免费 4
1.2.4 中间件内建 5
1.2.5 开放社区 5
1.2.6 资源商店 6
1.3 使用Unity制作的游戏 7
1.4 下载Unity 9
1.4.1 安装Unity 10
1.4.2 选择Unity许可 11
1.4.3 注册并登录Unity 12
1.5 Unity界面 13
1.5.1 视图 16
1.5.2 工具栏 27
1.5.3 设置快捷键 34
1.6 小结 34
第2章 准备游戏开发 35
2.1 开发的游戏以及开发顺序 36
2.2 新建项目 36
2.3 设置Unity IDE 37
2.4 系统管理项目视图 39
2.5 导入角色模型 39
2.6 创建资源商店账号 42
2.7 从项目视图访问资源商店 44
2.8 从资源商店下载资源 45
2.9 小结 48
第3章 制作游戏场景 49
3.1 3D模型 50
3.2 纹理 51
3.3 材质 53
3.4 应用纹理 54
3.5 着色器以及基于物理的着色 58
3.5.1 渲染模式 59
3.5.2 反照率 59
3.5.3 金属 59
3.5.4 法线贴图 59
3.5.5 高度图 60
3.5.6 遮挡贴图 60
3.5.7 放射 61
3.5.8 细节遮蔽 61
3.6 表现地面阴影——使用法线贴图 61
3.7 预设 62
3.8 用预设制作墙体 64
3.9 光照 68
3.9.1 平行光 68
3.9.2 点光源 69
3.9.3 聚光灯 69
3.9.4 区域光 70
3.10 天空的表现方法 71
3.10.1 六面天空盒 72
3.10.2 程序天空盒 74
3.10.3 立方图天空盒 76
3.11 小结 76
第4章 制作主人公角色 77
4.1 空游戏对象 78
4.2 导入3D模型并设置选项 79
4.3 组件 80
4.4 生成脚本 81
4.5 下载键盘输入值 84
4.6 角色移动 87
4.6.1 处理组件缓存 88
4.6.2 游戏对象的移动 89
4.6.3 Translate函数 89
4.7 单位向量 91
4.8 角色旋转:Rotate 94
4.9 摄像机追踪:Follow Cam 95
4.10 Legacy动画系统 98
4.11 动画片段 99
4.12 动画控件 104
4.13 动画合成 107
4.14 实时阴影 108
4.15 运用投影器制作阴影 111
4.16 运用平面网格制作阴影 115
4.17 小结 117
第5章 制作子弹发射效果 118
5.1 准备子弹模型 119
5.2 Rigidbody组件 120
5.3 设置物理引擎属性:Physics Manager 123
5.4 Collider组件 124
5.4.1 Box Collider 124
5.4.2 Sphere Collider 124
5.4.3 Capsule Collider 125
5.4.4 Mesh Collider 125
5.4.5 Wheel Collider 126
5.4.6 Terrain Collider 127
5.5 碰撞感知条件 127
5.6 碰撞事件 129
5.7 Tag应用 131
5.8 子弹发射逻辑 133
5.9 制作子弹发射轨迹:Trail Renderer 139
5.10 应用粒子系统 144
5.11 制作爆炸效果并设置爆炸威力 149
5.12 随机使用纹理 154
5.13 声音:AudioSource与AudioListener 156
5.14 枪口火焰效果:Muzzle Flash 163
5.15 小结 169
第6章 制作敌对角色 170
6.1 Mecanim动画系统 171
6.2 导入怪兽3D模型 172
6.3 转换为Mecanim动画 172
6.4 动画控制器 176
动画状态转换 179
6.5 导航:怪兽追击例程 182
6.5.1 生成导航网格并烘焙 183
6.5.2 Nav Mesh Agent 184
6.6 实现人工智能 187
6.7 怪兽攻击例程 196
6.8 怪兽被袭时的反应 198
6.9 血迹效果 202
6.10 贴图:地面上的血迹效果 205
6.11 赋予怪兽攻击技能 210
6.12 特定层之间的碰撞感知 214
6.13 优化Mecanim动画角色的骨骼结构 217
6.14 怪兽停止攻击:Tag 219
6.15 怪兽停止攻击:Delegate、 Event 223
6.16 怪兽的死亡处理 227
6.17 小结 234
第7章 Unity Ul 235
7.1 Canvas对象 236
7.1.1 EventSystem对象 237
7.1.2 Canvas组件 238
7.2 Rect Transform组件 242
7.3 anchoredPosition属性 250
7.4 Image组件 252
7.4.1 Simple 254
7.4.2 Sliced 254
7.4.3 Tiled 256
7.4.4 Filed 256
7.5 Rawlmage组件 257
7.6 Button组件 258
7.7 Text组件 269
7.8 Scroll Rect组件 270
7.8.1 Content属性 273
7.8.2 Mask组件 274
7.9 制作游戏分数UI 275
7.10 制作生命条 283
7.11 小结 287
第8章 游戏管理器 288
8.1 怪兽出现逻辑 289
8.2 访问游戏管理器 293
8.3 单例模式 295
8.4 对象池 297
8.5 共享函数:声音处理 305
8.6 小结 308
第9章 灵活运用射线投射 309
9.1 射线投射 310
9.2 油桶爆炸 315
9.3 实现激光束 318
第10章 导航仪高级技巧 325
10.1 动态障碍物 326
10.2 分离网格链接 329
10.3 用户自定义生成分离网格链接 331
第11章 光照贴图、灯光探测器 333
11.1 光照 334
11.1.1 Generate Lightmap UVs选项 334
11.1.2 Lightmap Static标记 334
11.1.3 光照视图 335
11.1.4 准备烘焙光照的过程 337
11.1.5 Auto选项 338
11.1.6 构建光照贴图 338
11.1.7 Area Light 341
11.2 灯光探测器 342
11.2.1 Light Probe Group 343
11.2.2 Anchor Override 346
11.3 小结 347
第12章 场景分离与合并 348
12.1 场景分离 349
12.2 场景合并 352
第13章 Unity内置网络游戏 355
13.1 网络游戏的定义 356
13.2 网络游戏的物理结构 356
13.3 网络通信协议 357
13.4 Unity内置网络功能 357
13.4.1 网络视图 358
13.4.2 状态同步 358
13.4.3 远程过程调用 359
13.5 Unity网络游戏步骤 360
13.5.1 游戏服务器初始化 360
13.5.2 客户端游戏连接 361
13.5.3 各游戏端点之间的通信 362
13.6 开发网络游戏 362
13.6.1 生成并初始化项目 363
13.6.2 场景制作 363
13.6.3 制作Player 365
13.6.4 Character Controller移动逻辑 365
13.6.5 制作网络管理器 367
13.6.6 构建可执行文件 368
13.6.7 查看连接网络的用户数量 371
13.6.8 制作网络玩家 374
13.6.9 摄像机追踪逻辑 377
13.6.10 平滑的同步处理(OnSerializeNetworkView) 381
13.6.11 发射例程(调用RPC) 386
13.6.12 动画同步 393
13.6.13 探测子弹的碰撞 399
13.6.14 死亡和复活处理 400
13.6.15 终止连接的相关处理 408
13.7 小结 409
第14章 使用Photon Cloud制作网络游戏 410
14.1 第二代Unity网络游戏引擎UNET 411
14.2 第三方网络游戏引擎 411
14.3 PhotonNetwork游戏引擎 411
14.3.1 Photon Server与Photon Cloud 412
14.3.2 加入会员 412
14.4 制作坦克大战游戏 414
14.4.1 坦克移动逻辑 415
14.4.2 履带动画 417
14.4.3 设置摄像机追踪逻辑与摄像机位置 420
14.4.4 旋转炮塔 421
14.4.5 调整炮身角度 424
14.4.6 建立炮弹预设和发射逻辑 425
14.4.7 炮弹发射音效 431
14.5 安装Photon Unity Networking插件 432
14.6 将坦克游戏更改为Photon Cloud版本 434
14.6.1 连接Photon Cloud 435
14.6.2 随机配对 437
14.6.3 制作房间 438
14.6.4 Photon View 440
14.6.5 动态生成坦克 441
14.6.6 构建游戏并测试连接 444
14.6.7 控制自己的坦克 446
14.6.8 平滑移动和旋转处理 447
14.6.9 同步炮塔与炮身 451
14.6.10 发射炮弹 456
14.6.11 坦克被击中时的处理及复活 458
14.7 制作游戏大厅 462
14.7.1 制作大厅场景 462
14.7.2 制作登录U l 464
14.7.3 进入游戏房间 472
14.7.4 制作坦克HUD 477
14.7.5 创建并进入房间 485
14.7.6 构建房间目录UI 490
14.7.7 接收房间列表 497
14.7.8 动态增加按钮事件 509
14.8 战地细节功能 513
14.8.1 显示房间内的玩家数 513
14.8.2 退出房间 516
14.8.3 显示连接日志 518
14.8.4 事件钩子 523
14.9 评分并显示 527
14.10 在Unity中连接数据库 540
14.10.1 JSON 540
14.10.2 SimpleJSON 542
14.10.3 将分数信息保存到数据库 544
14.10.4 从数据库获取排名信息 547
14.11 小结 550
第15章 提升游戏真实感 551
15.1 布娃娃系统 552
15.1.1 创建项目并下载资源 552
15.1.2 制作舞台 553
15.1.3 生成3D模型的布娃娃系统 554
15.2 触屏 563
15.2.1 ScreenPointToRay函数 563
15.2.2 Touch类 566
15.2.3 Unity Remote 4 569
15.3 通过触屏移动 571
15.4 小结 574
附录 数据库 575
1.数据库和数据库管理系统 576
2.数据库服务器 576
3.SQL 576
4.DBMS的数据管理 576
5.数据表 577
6.列与行 577
7.SQL 578