六本书
- Unity 5权威讲解
- Unity 3D NGUI 实战教程
- Unity 5实战 使用C和Unity开发多平台游戏
- Unity 3D人工智能编程
- Unity官方案例精讲
- Unity Shader入门精要
1. Unity 5权威讲解 #
目录
- 第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函数 90
- 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章 制作子弹发射效果 119
- 5.1 准备子弹模型 120
- 5.2 Rigidbody组件 121
- 5.3 设置物理引擎属性:Physics Manager 124
- 5.4 Collider组件 125
- 5.4.1 Box Collider 125
- 5.4.2 Sphere Collider 125
- 5.4.3 Capsule Collider 126
- 5.4.4 Mesh Collider 126
- 5.4.5 Wheel Collider 127
- 5.4.6 Terrain Collider 128
- 5.5 碰撞感知条件 128
- 5.6 碰撞事件 130
- 5.7 Tag应用 132
- 5.8 子弹发射逻辑 135
- 5.9 制作子弹发射轨迹:Trail Renderer 140
- 5.10 应用粒子系统 145
- 5.11 制作爆炸效果并设置爆炸威力 150
- 5.12 随机使用纹理 155
- 5.13 声音:AudioSource与AudioListener 157
- 5.14 枪口火焰效果:Muzzle Flash 164
- 5.15 小结 170
- 第6章 制作敌对角色 171
- 6.1 Mecanim动画系统 172
- 6.2 导入怪兽3D模型 173
- 6.3 转换为Mecanim动画 173
- 6.4 动画控制器 177
- 6.5 导航:怪兽追击例程 183
- 6.5.1 生成导航网格并烘焙 184
- 6.5.2 Nav Mesh Agent 185
- 6.6 实现人工智能 188
- 6.7 怪兽攻击例程 197
- 6.8 怪兽被袭时的反应 199
- 6.9 血迹效果 203
- 6.10 贴图:地面上的血迹效果 206
- 6.11 赋予怪兽攻击技能 211
- 6.12 特定层之间的碰撞感知 215
- 6.13 优化Mecanim动画角色的骨骼结构 218
- 6.14 怪兽停止攻击:Tag 220
- 6.15 怪兽停止攻击:Delegate、Event 224
- 6.16 怪兽的死亡处理 228
- 6.17 小结 235
- 第7章 Unity UI 237
- 7.1 Canvas对象 238
- 7.1.1 EventSystem对象 239
- 7.1.2 Canvas组件 240
- 7.2 Rect Transform组件 244
- 7.3 anchoredPosition属性 252
- 7.4 Image组件 254
- 7.4.1 Simple 256
- 7.4.2 Sliced 256
- 7.4.3 Tiled 258
- 7.4.4 Filed 258
- 7.5 RawImage 组件 259
- 7.6 Button组件 260
- 7.7 Text组件 271
- 7.8 Scroll Rect组件 272
- 7.8.1 Content属性 275
- 7.8.2 Mask组件 276
- 7.9 制作游戏分数UI 277
- 7.10 制作生命条 285
- 7.11 小结 289
- 第8章 游戏管理器 291
- 8.1 怪兽出现逻辑 292
- 8.2 访问游戏管理器 296
- 8.3 单例模式 298
- 8.4 对象池 300
- 8.5 共享函数:声音处理 308
- 8.6 小结 311
- 第9章 灵活运用射线投射 313
- 9.1 射线投射 314
- 9.2 油桶爆炸 319
- 9.3 实现激光束 322
- 第10章 导航仪高级技巧 329
- 10.1 动态障碍物 330
- 10.2 分离网格链接 333
- 10.3 用户自定义生成分离网格链接 335
- 第11章 光照贴图、灯光探测器 337
- 11.1 光照 338
- 11.1.1 Generate Lightmap UVs 选项 338
- 11.1.2 Lightmap Static标记 338
- 11.1.3 光照视图 339
- 11.1.4 准备烘焙光照的过程 341
- 11.1.5 Auto选项 342
- 11.1.6 构建光照贴图 342
- 11.1.7 Area Light 345
- 11.2 灯光探测器 346
- 11.2.1 Light Probe Group 347
- 11.2.2 Anchor Override 350
- 11.3 小结 351
- 第12章 场景分离与合并 353
- 12.1 场景分离 354
- 12.2 场景合并 357
- 第13章 Unity内置网络游戏 361
- 13.1 网络游戏的定义 362
- 13.2 网络游戏的物理结构 362
- 13.3 网络通信协议 363
- 13.4 Unity内置网络功能 363
- 13.4.1 网络视图 364
- 13.4.2 状态同步 364
- 13.4.3 远程过程调用 365
- 13.5 Unity网络游戏步骤 366
- 13.5.1 游戏服务器初始化 366
- 13.5.2 客户端游戏连接 367
- 13.5.3 各游戏端点之间的通信 368
- 13.6 开发网络游戏 368
- 13.6.1 生成并初始化项目 369
- 13.6.2 场景制作 369
- 13.6.3 制作Player 371
- 13.6.4 Character Controller移动逻辑 371
- 13.6.5 制作网络管理器 373
- 13.6.6 构建可执行文件 374
- 13.6.7 查看连接网络的用户数量 377
- 13.6.8 制作网络玩家 380
- 13.6.9 摄像机追踪逻辑 383
- 13.6.10 平滑的同步处理(OnSerializeNetworkView) 387
- 13.6.11 发射例程(调用RPC) 392
- 13.6.12 动画同步 399
- 13.6.13 探测子弹的碰撞 405
- 13.6.14 死亡和复活处理 406
- 13.6.15 终止连接的相关处理 414
- 13.7 小结 415
- 第14章 使用Photon Cloud制作网络游戏 417
- 14.1 第二代Unity网络游戏引擎UNET 418
- 14.2 第三方网络游戏引擎 418
- 14.3 PhotonNetwork游戏引擎 418
- 14.3.1 Photon Server与Photon Cloud 419
- 14.3.2 加入会员 419
- 14.4 制作坦克大战游戏 421
- 14.4.1 坦克移动逻辑 422
- 14.4.2 履带动画 424
- 14.4.3 设置摄像机追踪逻辑与摄像机位置 427
- 14.4.4 旋转炮塔 428
- 14.4.5 调整炮身角度 431
- 14.4.6 建立炮弹预设和发射逻辑 432
- 14.4.7 炮弹发射音效 438
- 14.5 安装Photon Unity Networking插件 439
- 14.6 将坦克游戏更改为Photon Cloud版本 441
- 14.6.1 连接Photon Cloud 442
- 14.6.2 随机配对 444
- 14.6.3 制作房间 445
- 14.6.4 Photon View 447
- 14.6.5 动态生成坦克 448
- 14.6.6 构建游戏并测试连接 451
- 14.6.7 控制自己的坦克 453
- 14.6.8 平滑移动和旋转处理 454
- 14.6.9 同步炮塔与炮身 458
- 14.6.10 发射炮弹 463
- 14.6.11 坦克被击中时的处理及复活 465
- 14.7 制作游戏大厅 469
- 14.7.1 制作大厅场景 469
- 14.7.2 制作登录UI 471
- 14.7.3 进入游戏房间 479
- 14.7.4 制作坦克HUD 484
- 14.7.5 创建并进入房间 492
- 14.7.6 构建房间目录UI 497
- 14.7.7 接收房间列表 504
- 14.7.8 动态增加按钮事件 516
- 14.8 战地细节功能 520
- 14.8.1 显示房间内的玩家数 520
- 14.8.2 退出房间 523
- 14.8.3 显示连接日志 525
- 14.8.4 事件钩子 530
- 14.9 评分并显示 534
- 14.10 在Unity中连接数据库 547
- 14.10.1 JSON 547
- 14.10.2 SimpleJSON 549
- 14.10.3 将分数信息保存到数据库 551
- 14.10.4 从数据库获取排名信息 554
- 14.11 小结 557
- 第15章 提升游戏真实感 559
- 15.1 布娃娃系统 560
- 15.1.1 创建项目并下载资源 560
- 15.1.2 制作舞台 561
- 15.1.3 生成3D模型的布娃娃系统 562
- 15.2 触屏 571
- 15.2.1 Sc