描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302612612
全彩印制,适合初学Unity 2D与3D手机游戏的读者。
详解Unity 2020主要功能和程序开发的方法。
剖析简单的2D打砖块游戏、3D动作RPG游戏和3D对战射击游戏。
配套示例源码、PPT课件。
本书基于Unity 2020,详细讲解Unity的主要功能和用法,以及游戏开发的方法和技巧,并剖析了3个实战项目:一个简单的2D打砖块游戏、一个3D动作RPG游戏和一个3D对战射击游戏。通过以上内容,帮助读者掌握Unity制作游戏的方法,以快速进入Unity 2D与3D游戏开发之门。
本书分为13章,内容包括Unity 2020的安装和基本界面,理解Unity的世界生成,脚本基础,界面及输入,2D游戏开发,制作2D打砖块游戏,3D物理、动画和导航,Unity 3D开发的简单框架及常用技巧,3D动作游戏示例,更复杂的3D动作游戏,Unity其他功能,简单的3D射击游戏实战,商城资源等。
本书适合Unity 3D游戏开发初学者、游戏与数字孪生开发人员阅读,也适合作为高等院校、中职学校和培训机构计算机游戏开发相关专业师生的教学参考书。
第 1 章 Unity的安装和基本界面1
1.1 Unity的安装1
1.1.1 Unity ID1
1.1.2 Unity Hub的安装和使用2
1.1.3 基础设置4
1.1.4 提示和总结5
1.2 Unity的基本界面5
1.2.1 共有操作6
1.2.2 项目窗口6
1.2.3 层级窗口7
1.2.4 场景视图8
1.2.5 检查器窗口9
1.2.6 游戏视图10
1.2.7 控制台窗口11
1.2.8 资源商城12
1.2.9 包管理器12
1.2.10 其他常用操作12
1.2.11 提示和总结12
第2章 理解Unity的世界并生成个应用13
2.1 理解Unity的世界13
2.1.1 虚拟的三维世界13
2.1.2 游戏对象和Transform13
2.1.3 游戏对象的层级结构14
2.1.4 组件决定游戏对象14
2.1.5 场景和摄像机14
2.1.6 资源14
2.2 Unity的项目结构15
2.3 Unity的坐标16
2.4 Unity项目目录说明17
2.4.1 项目目录17
2.4.2 Assets下的特殊目录17
2.5 生成个应用18
2.5.1 生成设置和玩家设置18
2.5.2 生成个应用18
2.6 提示和总结19
第3章 Unity脚本基础内容20
3.1 C#基础20
3.2 Unity 3D的内置数据类型21
3.3 MonoBehaviour类22
3.3.1 脚本组件22
3.3.2 特殊赋值方式22
3.3.3 Unity基础事件23
3.4 Debug类24
3.5 游戏对象的基本操作24
3.5.1 获取指定游戏对象24
3.5.2 其他操作26
3.6 游戏对象位置的旋转和缩放27
3.7 Time和移动、旋转、缩放28
3.7.1 Time的3个常用属性28
3.7.2 移动29
3.7.3 旋转30
3.7.4 缩放30
3.8 组件获取和基本操作31
3.8.1 获取指定组件31
3.8.2 组件的基本操作32
3.9 应用退出和场景控制33
3.9.1 应用退出33
3.9.2 场景加载33
3.9.3 DontDestroyOnLoad和单实例34
3.10 协程和重复34
3.11 ScriptableObject36
3.12 其他37
3.13 提示和总结42
第4章 Unity的UI和输入43
4.1 常用资源导入后的设置43
4.2 预制件45
4.3 摄像机46
4.4 Unity UI48
4.4.1 RectTransform 48
4.4.2 RectTransform的程序控制49
4.4.3 画布53
4.4.4 文本和图像54
4.4.5 交互游戏对象56
4.4.6 事件响应57
4.5 输入62
4.5.1 键盘按键输入62
4.5.2 鼠标输入62
4.5.3 触屏输入63
4.5.4 输入管理器64
4.5.5 单击物体64
4.5.6 UI击穿65
4.6 音频播放66
第5章 Unity的2D开发68
5.1 2D开发基础设置68
5.2 图像资源和精灵编辑器工具69
5.3 2D基础组件和显示顺序70
5.4 2D物理71
5.4.1 2D刚体71
5.4.2 2D碰撞器组件 72
5.4.3 2D关节组件和2D物理材质73
5.4.4 2D效果器组件74
5.5 2D动画74
5.6 瓦片地图75
第6章 制作2D打砖块游戏77
6.1 游戏思路和结构77
6.2 导入和基础设置79
6.3 制作瓦片地图80
6.4 滑块和小球81
6.5 添加界面83
6.6 编写主要逻辑84
6.7 调试和完善85
第7章 3D物理、动画和导航87
7.1 物理系统87
7.1.1 刚体组件87
7.1.2 碰撞器组件88
7.1.3 关节和物理材质90
7.2 动画91
7.2.1 动画剪辑92
7.2.2 使用Animation窗口制作动画剪辑93
7.2.3 动画控制器94
7.2.4 动画器组件和动画的程序控制96
7.3 导航寻路97
7.4 拖尾和线100
7.4.1 拖尾100
7.4.2 线100
7.4.3 其他共同设置101
第8章 Unity开发简单框架及常用技巧104
8.1 多个Manager的简单框架104
8.1.1 演化过程104
8.1.2 多个Manager框架的说明105
8.2 ScriptableObject的使用106
8.3 AI的简单实现107
第9章 动作游戏示例109
9.1 项目结构109
9.2 基本设置110
9.3 指针切换112
9.3.1 场景设置113
9.3.2 编写并设置脚本113
9.4 单击移动玩家114
9.4.1 导航区域烘焙114
9.4.2 玩家游戏对象设置114
9.4.3 鼠标控制器脚本修改115
9.4.4 玩家控制器脚本编辑116
9.4.5 运行测试116
9.5 玩家动画制作和移动匹配117
9.5.1 新建默认动作控制器118
9.5.2 添加移动用的混合树118
9.5.3 添加攻击和死亡状态119
9.5.4 添加玩家动作控制器120
9.5.5 修改玩家控制器脚本120
9.6 玩家攻击敌人120
9.7 摄像机镜头设置122
9.8 怪物攻击123
9.8.1 骷髅动画控制器制作123
9.8.2 骷髅预制件制作123
9.8.3 编写基本的有限状态机124
9.8.4 编写死亡和站桩状态125
9.8.5 编写巡逻状态125
9.8.6 编写追击状态126
第10章 更复杂的3D动作游戏127
10.1 角色状态127
10.2 伤害计算129
10.2.1 修改脚本添加伤害计算130
10.2.2 添加动作事件131
10.2.3 运行测试133
10.3 等级提升133
10.4 敌人血量显示135
10.4.1 添加血条预制件135
10.4.2 脚本修改136
10.4.3 设置敌人137
10.5 玩家血量经验值显示137
10.5.1 设置玩家血量界面138
10.5.2 添加并编辑玩家控制器脚本139
10.5.3 修改玩家控制器脚本140
10.5.4 添加并编辑玩家信息显示脚本140
10.6 当前场景传送140
10.6.1 添加传送目标点脚本141
10.6.2 添加传送起始点脚本141
10.6.3 传送点预制件设置142
10.6.4 添加并编写场景管理器脚本143
10.7 玩家数据的保存和读取143
10.8 不同场景传送144
10.8.1 添加主场景的传送点144
10.8.2 设置预制件144
10.8.3 另一个场景的设置145
10.8.4 可用场景设置146
10.8.5 脚本修改146
10.9 菜单场景147
第11章 Unity其他功能介绍149
11.1 新的输入工具Input System149
11.2 镜头利器Cinemachine150
11.3 提升显示效果的URP和HDRP150
11.4 更好的文本显示Text Mesh Pro152
11.5 实时动画利器Timeline153
11.6 动态载入资源的Addressables AssetBundle153
11.7 官方的可视化脚本Bolt154
第12章 简单的射击游戏155
12.1 新建项目并导入模型资源155
12.2 导入动作控制158
12.3 改造控制160
12.3.1 视角改造160
12.3.2 添加基本动作161
12.4 添加武器系统163
12.4.1 导入武器系统插件Easy Weapons163
12.4.2 设置模型和武器164
12.4.3 添加并设置击中效果166
12.5 添加NPC及其AI168
12.5.1 导入AI Behavior插件168
12.5.2 添加AI Behavior170
12.5.3 设置动画170
12.5.4 添加巡逻状态172
12.5.5 添加攻击状态173
12.5.6 添加受到攻击和死亡状态175
12.5.7 添加并修改程序实现攻击效果176
12.6 实现网络对战178
12.6.1 插件导入和基础设置178
12.6.2 创建房间功能181
12.6.3 开始游戏的倒计时185
12.6.4 生成对战玩家预制件185
12.6.5 添加生成玩家功能187
12.6.6 位置同步187
12.6.7 同步动作188
12.6.8 同步射击和装弹效果188
12.6.9 添加菜单和结束过渡189
第13章 商城资源介绍191
13.1 Unity官方资源191
13.1.1 人物移动和镜头控制资源191
13.1.2 常用粒子特效资源Unity Particle Pack192
13.1.3 不需要写代码的游戏开发套件 Game Kit193
13.1.4 官方其他资源193
13.2 常用资源196
13.2.1 常用的移动插件DOTween196
13.2.2 可视化状态机Playmaker196
13.2.3 可视化行为树Behavior Designer197
13.3 常用的子系统197
13.3.1 对话背包和任务系统197
13.3.2 战斗系统及其他198
13.3.3 类型游戏制作资源201
13.3.4 通用的游戏制作资源202
13.3.5 网络相关插件204
Unity 3D(简称Unity)是由Unity Technologies公司制作的互动内容多平台综合型开发工具,不仅在游戏开发、动画制作方面广泛应用,而且越来越多地应用于增强现实、虚拟现实、数字孪生等内容的开发。
本书面向的读者是没有接触过Unity游戏开发的初学者,读者可以通过本书快速掌握Unity游戏开发的常用技术,并且能够参照书中的示例游戏制作出自己的作品。
本书内容介绍
第1~4章介绍Unity的安卓应用发布、相关的基础概念和常用的界面操作、脚本基础内容、Unity的UI和输入等。
第5、6章介绍Unity的2D游戏开发并通过一个2D打砖块游戏让读者学习基础的Unity程序开发方法。
第7、8章介绍Unity的3D物理、动画系统和导航系统等内容,并通过第8章介绍Unity开发简单游戏时如何组织构建开发框架。
第9、10章以一个简单的ARPG(动作角色扮演类)游戏为例介绍如何控制人物及NPC的移动、动画、设置状态、实现战斗过程、场景切换和数据读取等内容。
第11、12章介绍Unity的其他功能插件,并且通过一个简单的射击对战游戏的制作介绍如何使用各种插件在少量代码的情况下实现一个射击对战游戏,包括人物控制、动画播放、NPC的AI实现、武器射击效果、如何通过插件实现网络对战。
第13章介绍很多热门的商城资源,包括通用的子系统和一些特定游戏开发的资源,无论是作为学习还是直接使用这些资源开发游戏都是不错的选择。
示例源码下载与答疑服务
本书配套源码、PPT课件、数据集、开发环境需要使用微信扫描右侧的二维码下载,也可按页面提示把链接转发到自己的邮箱中下载。如果下载有问题或者在阅读中发现问题,请联系[email protected],邮件主题为“Unity 2D与3D手机游戏开发实战”。
本书的特点
快速上手:以直接、细致的方法指导读者快速掌握Unity的使用方法和Unity游戏的开发方法,基础内容章节还提供了视频。
理解架构:书中通过结构图、流程图、思维导图等方式帮助读者理解并掌握Unity的概念、结构以及游戏开发的思路。
实战引导:通过实际游戏项目示例介绍简单且实用的Unity游戏开发框架,让次使用Unity开发的读者不至于面对项目不知所措。这种框架不仅可以用于游戏开发,也可以用于其他一些小型项目的开发。
本书读者
本书适合Unity游戏开发初学者、游戏与数字孪生开发人员阅读,也适合作为高等院校、中职学校和培训机构计算机游戏开发课程的教学参考书。
评论
还没有评论。