Unity 案例开发大全 第2版
作者: 吴亚峰,索依娜,于复兴 著
出版时间: 2018
内 容 提 要本书作者结合多年从事游戏应用开发的经验,详细介绍了8款Unity 3D游戏案例的开发。本书主要内容包括Unity 3D的基础知识、开发环境的搭建及其运行机制,益智休闲类游戏、3D塔防类游戏、3D桌球类游戏、射击类游戏、第三人称射击类游戏、休闲体育类游戏、VR休闲竞技类游戏、多人在线角色扮演游戏的开发。本书适合有一定基础、有志于游戏开发的读者学习,也可以作为相关培训学校和大专院校相关专业的教学用书。
目 录
- 第1章 Unity 3D基础和开发环境的搭建1
- 1.1Unity 3D基础知识概览1
- 1.1.1初识Unity 3D1
- 1.1.2Unity的诞生及其发展1
- 1.1.3Unity 3D广阔的市场前景2
- 1.1.4独具特色的Unity 3D3
- 1.2开发环境的搭建8
- 1.2.1Unity集成开发环境的安装8
- 1.2.2目标平台的SDK与Unity 3D的
- 集成11
- 1.3本书案例的导入及运行13
- 1.4本章小结15
- 第2章 益智休闲类游戏——火车行动16
- 2.1游戏的开发背景和功能概述16
- 2.1.1游戏背景简介16
- 2.1.2游戏功能简介17
- 2.2游戏的策划和准备工作18
- 2.2.1游戏的策划18
- 2.2.2使用Unity开发游戏前的准备
- 工作19
- 2.3游戏的架构21
- 2.3.1各个场景的简要介绍21
- 2.3.2游戏架构简介22
- 2.4主菜单场景22
- 2.4.1场景的搭建及相关设置22
- 2.4.2各对象的脚本开发及相关
- 设置27
- 2.5游戏场景33
- 2.5.1关卡一游戏场景搭建33
- 2.5.2游戏模型设置及脚本开发37
- 2.5.3游戏UI层的开发45
- 2.5.4关卡二游戏场景搭建48
- 2.6游戏的优化与改进50
- 2.7本章小结50
- 第3章3D塔防类游戏——BN塔防51
- 3.1游戏的开发背景和功能概述51
- 3.1.1游戏背景简介51
- 3.1.2游戏功能简介52
- 3.2游戏的策划和准备工作54
- 3.2.1游戏的策划54
- 3.2.2使用Unity开发游戏前的准备
- 工作55
- 3.3游戏的架构58
- 3.3.1各个场景简介59
- 3.3.2游戏架构简介59
- 3.4玩家设置场景的开发61
- 3.4.1场景的搭建及其相关设置61
- 3.4.2各对象的脚本开发及其相关
- 设置64
- 3.5游戏功能场景的开发69
- 3.5.1场景搭建及其相关设置70
- 3.5.2各对象的脚本开发及相关设置71
- 3.6属性介绍场景的开发74
- 3.6.1英雄属性介绍界面搭建74
- 3.6.2怪物属性介绍界面搭建75
- 3.6.3英雄以及怪物模型创建76
- 3.6.4各对象的脚本开发及相关设置77
- 3.7选关场景的开发81
- 3.7.1场景的搭建及其相关设置81
- 3.7.2各对象的脚本开发及相关
- 设置82
- 3.8关卡场景的开发83
- 3.8.1场景地形的制作83
- 3.8.2摄像机的移动和缩放功能的
- 开发85
- 3.8.3敌人相关功能的开发87
- 3.8.4防御塔功能的开发93
- 3.8.5英雄相关功能的开发96
- 3.8.6技能的开发99
- 3.8.7创建声音管理器100
- 3.8.8场景UI的制作与相关脚本的
- 开发101
- 3.8.9创建游戏控制器104
- 3.9游戏的优化与改进106
- 第4章3D极品桌球107
- 4.1游戏背景和功能概述107
- 4.1.1游戏背景简介107
- 4.1.2游戏功能简介107
- 4.2游戏的策划和准备工作110
- 4.2.1游戏的策划110
- 4.2.2使用Unity开发游戏前的
- 准备工作110
- 4.3游戏的架构112
- 4.3.1各个场景简介112
- 4.3.2游戏框架简介113
- 4.4主菜单界面114
- 4.4.1项目的基本创建114
- 4.4.2脚本的编写与挂载115
- 4.5游戏界面128
- 4.5.1场景的搭建128
- 4.5.2多视角的制作与切换131
- 4.5.3游戏界面脚本的编写134
- 4.5.4功能脚本的编写141
- 4.6游戏的优化与改进154
第5章射击类游戏——固守阵线155
5.1游戏背景和功能概述155
5.1.1游戏背景简介155
5.1.2游戏功能简介155
5.2游戏的策划及准备工作158
5.2.1游戏的策划158
5.2.2使用Unity开发游戏前的
准备工作159
5.3游戏的架构161
5.3.1各个场景简介161
5.3.2游戏架构简介162
5.4主菜单场景162
5.4.1场景搭建163
5.4.2主摄像机设置及脚本开发164
5.4.3主菜单场景中各个界面移动的
实现170
5.5游戏场景171
5.5.1场景搭建171
5.5.2主摄像机设置及脚本开发172
5.5.3操作界面的创建173
5.5.4子弹的创建177
5.5.5敌人小兵的创建及脚本开发179
5.5.6场景中结点的设置与脚本
开发181
5.5.7敌人装甲车的创建与脚本
开发182
5.5.8敌人坦克的创建与脚本
开发186
5.5.9小地图的制作188
5.6游戏的优化与改进189
第6章第三人称射击类游戏——海岛危机190
6.1游戏背景和功能概述190
6.1.1游戏背景简介190
6.1.2游戏功能简介191
6.2游戏的策划及准备工作193
6.2.1游戏的策划193
6.2.2使用Unity开发游戏前的
准备工作194
6.3游戏的架构197
6.3.1各个场景简介197
6.3.2游戏架构简介198
6.4闪屏和主菜单场景200
6.4.1闪屏场景的搭建与脚本
开发200
6.4.2常量类与简单游戏保存功能的
开发203
6.4.3主菜单场景基本UI的搭建与
脚本开发204
6.4.4选择关卡界面的搭建与脚本
开发207
6.4.5信息提示界面的搭建与脚本
开发211
6.4.6其他部分的搭建212
6.5游戏加载场景214
6.5.1场景搭建214
6.5.2异步加载场景功能的实现与
脚本开发214
6.6关卡一游戏场景215
6.6.1场景搭建215
6.6.2主人物模型的搭建及
脚本开发216
6.6.3虚拟摇杆和摄像机跟随功能及
脚本开发221
6.6.4游戏提示界面的搭建及
脚本开发225
6.6.5任务系统和触发器的搭建及
脚本开发226
6.6.6准星和准星提示信息的搭建及
脚本开发228
6.6.7邮件界面的搭建及其功能的
脚本开发230
6.7其他游戏场景232
6.7.1游戏CG功能的实现及
脚本开发232
6.7.2血条和小地图功能及
脚本开发233
6.7.3怪物的创建及脚本开发236
6.7.4船和直升飞机的搭建及
脚本开发239
6.8游戏的优化与改进241
第7章休闲体育类游戏——指尖网球243
7.1游戏背景和功能概述243
7.1.1游戏背景简介243
7.1.2游戏功能简介244
7.2游戏的策划及准备工作245
7.2.1游戏的策划245
7.2.2使用Unity开发游戏前的
准备工作246
7.3游戏的架构248
7.3.1各个场景简介248
7.3.2游戏架构简介249
7.4主菜单场景250
7.4.1场景的搭建及其相关设置250
7.4.2各对象的脚本开发及
相关设置254
7.5单人模式游戏场景264
7.5.1场景搭建264
7.5.2各对象的脚本开发及
相关设置265
7.6网络模式游戏场景283
7.6.1场景搭建283
7.6.2各对象的脚本开发及
相关设置283
7.7服务器端的开发288
7.7.1网络游戏架构简介288
7.7.2服务器端简介289
7.7.3服务器端的开发289
7.8游戏加载场景290
7.8.1场景搭建290
7.8.2各对象的脚本开发及
相关设置291
7.9游戏的优化与改进292
第8章VR休闲竞技类游戏——Q赛车293
8.1游戏背景和功能概述293
8.1.1游戏背景简介293
8.1.2游戏功能简介293
8.2游戏的策划及准备工作295
8.2.1游戏的策划295
8.2.2使用Unity开发游戏前的
准备工作296
8.3游戏的架构297
8.3.1各个场景的简介297
8.3.2游戏架构简介297
8.4主菜单场景298
8.4.1场景的搭建及其相关设置298
8.4.2Gvr Unity SDK下载及使用
介绍300
8.4.3脚本开发及相关设置302
8.5单人模式游戏场景305
8.5.1场景搭建305
8.5.2游戏场景的初始化脚本307
8.5.3赛车控制脚本及其相关设置308
8.5.4摄像机控制及暂停脚本开发309
8.5.5游戏输赢脚本开发311
8.5.6游戏UI对象脚本开发314
8.5.7游戏常量类脚本开发314
8.6网络模式游戏场景315
8.6.1场景搭建315
8.6.2脚本开发及相关设置315
8.7服务器端的开发319
8.7.1网络游戏架构简介319
8.7.2服务器端简介320
8.7.3服务器端的开发320
8.8游戏的优化与改进322
第9章多人在线角色扮演游戏——
英雄传说323
9.1游戏背景和功能概述323
9.1.1游戏背景简介323
9.1.2游戏功能简介323
9.2游戏的策划及准备工作326
9.2.1游戏的策划326
9.2.2游戏前的准备工作327
9.3游戏的架构333
9.4网络游戏服务器概述334
9.4.1什么是游戏服务器334
9.4.2服务器结构334
9.4.3序列化协议简介335
9.4.4Protocol Buffer的使用336
9.4.5游戏服务器的整体架构338
9.5游戏服务器线程类详解338
9.5.1服务器主线程类——
ServerThread339
9.5.2服务器代理线程类——
ServerAgentThread339
9.5.3操作码处理类——
OPCodeHandler343
9.5.4登录和选人线程类——LogInThread和ChooseRoleThread344
9.5.5游戏主场景线程类——
MainMapThread345
9.5.6副本线程类——
DungeonMapThread347
9.6游戏服务器动作类详解351
9.6.1所有动作的父类——Action352
9.6.2登录动作类——LogInAction352
9.6.3创建角色动作类——
CreateRoleAction353
9.6.4选择角色动作类——
ChooseRoleResultAction354
9.6.5更新角色信息动作类——
UpdateRoleDataAction355
9.6.6返回主城动作类——
BackTOMainMapAction356
9.6.7同步动画动作类——
BroadCastStateAction357
9.6.8创建副本动作类——
CreateDungeonAction357
9.7登录场景及加载场景的搭建358
9.7.1登录场景的搭建及相关设置359
9.7.2加载界面场景的搭建366
9.8客户端与服务器的连接367
9.9选人场景的搭建373
9.9.1选人3D场景的搭建373
9.9.2UI的开发378
9.10主城场景的搭建开发384
9.10.1主城中角色移动及NPC功能的
开发384
9.10.2主城场景UI的开发389
9.10.3组队功能的实现392
9.11副本场景功能的开发393
9.12自动寻路系统396
9.12.1地图信息标记点397
9.12.2自动寻路代码399
9.12.3Java与Lua的交互403
9.13游戏AI开发406
9.13.1服务器端AI开发406
9.13.2客户端AI开发412
9.14游戏的优化与改进418
9.15本章小结418