新書推薦:
《
真需求
》
售價:NT$
505.0
《
阿勒泰的春天
》
售價:NT$
230.0
《
如见你
》
售價:NT$
234.0
《
人格阴影 全新修订版,更正旧版多处问题。国际分析心理学协会(IAAP)主席力作
》
售價:NT$
305.0
《
560种野菜野果鉴别与食用手册
》
售價:NT$
305.0
《
中国官僚政治研究(一部洞悉中国政治制度演变的经典之作)
》
售價:NT$
286.0
《
锂电储能产品设计及案例详解
》
售價:NT$
505.0
《
首辅养成手册(全三册)(张晚意、任敏主演古装剧《锦绣安宁》原著小说)
》
售價:NT$
551.0
|
編輯推薦: |
本书面向没有接触过Unity游戏开发的初学者。读者可以通过本书掌握Unity游戏开发的常用技术,并且能参照“狗狗打怪”示例游戏制作出自己的作品。本书配套示例源码,作者提供技术支持和答疑服务。
|
內容簡介: |
本书详细讲解Unity 2020的用法,并逐一说明Unity的主要功能,让读者对Unity游戏开发有一个整体认识,同时通过讲解一个简单的狗狗打怪游戏场景的相关实现技术,使读者掌握Unity制作游戏产品的方法,以快速进入Unity游戏开发之门。 本书共分16章,内容包括Unity 2020的安装、理解Unity的世界、Unity的常用界面、Unity项目从新建到生成、Unity脚本基础、Unity常用基础功能、Unity开发简单框架及常用技巧、狗狗打怪游戏结构和设置、指针切换及玩家移动攻击、敌人攻击、角色状态和伤害计算、场景传送和数据存取、狗狗打怪菜单场景。 本书适合Unity游戏开发初学者阅读,也适合作为高等院校、中职学校和培训机构计算机游戏开发相关专业师生的教学参考书。
|
關於作者: |
吴雁涛,2000年毕业于西北工业大学,从事计算机软件开发相关工作,包括Web前端、Web后端、Untiy 3D开发等。著有《Unity 3D平台AR与VR开发快速上手》《Unity 2018 AR与VR开发快速上手》《Unity 3D平台AR快速开发上手—基于EasyAR 4.0》。
叶东海,2012年毕业于云南大学,从事网络安全和信息化建设与管理工作,研究数据挖掘和AR应用开发,有7年的教学工作经验,指导多项人工智能竞赛和创新创业项目。著有《数据库系统应用》《Unity 3D平台AR快速开发上手—基于EasyAR 4.0》。
赵杰,2003年毕业于云南大学软件工程专业,硕士,曾负责软件工程专业、网络工程专业和数字媒体专业本科生创新创业指导工作。有15年的教学工作经验,指导过多项大学生创新创业项目。著有《Unity 3D平台AR快速开发上手——基于EasyAR 4.0》。
|
目錄:
|
第1章 使用Unity Hub安装Unity 1
1.1 Unity Hub的下载 1
1.2 Unity Hub的安装 2
1.3 Unity Hub的使用 3
1.3.1 安装Unity 2020 3
1.3.2 添加模块和卸载Unity 6
1.3.3 激活许可证 6
1.3.4 Unity项目操作 7
1.4 脚本编辑器和界面语言设置 10
1.5 提示和总结 11
第2章 生成应用程序 12
2.1 安装对应平台的模块 12
2.2 窗口设置 13
2.3 玩家设置 15
2.4 生成Windows程序 17
2.5 生成网页应用 18
2.6 生成安卓应用 19
2.6.1 JDK和Android SDK 19
2.6.2 玩家设置 20
2.6.3 生成安卓应用 21
2.7 生成iOS应用 22
2.7.1 玩家设置 22
2.7.2 生成iOS应用 23
2.8 提示和总结 24
第3章 理解Unity的世界 25
3.1 虚拟的三维世界 25
3.1.1 游戏对象和Transform 26
3.1.2 游戏对象的层级结构 26
3.1.3 组件决定游戏对象 27
3.1.4 场景和摄像机 27
3.1.5 资源 27
3.2 Unity项目的结构 27
3.3 Unity的坐标 28
3.4 Unity项目目录说明 30
3.5 关于翻译 31
3.6 关于Unity的学习资源 32
3.7 提示和总结 33
第4章 Unity的常用界面 34
4.1 共有操作 35
4.2 项目窗口 36
4.2.1 菜单 36
4.2.2 基本操作 37
4.2.3 界面调整 37
4.2.4 搜索 37
4.3 层级窗口 39
4.3.1 菜单 39
4.3.2 基本操作 40
4.3.3 联动内容 41
4.4 场景视图 43
4.4.1 添加操作 44
4.4.2 视角操作(视图导航) 45
4.4.3 游戏对象操作 46
4.4.4 其他辅助按钮和开关 49
4.5 检查器窗口 50
4.5.1 菜单 50
4.5.2 游戏对象操作 52
4.5.3 组件操作 53
4.5.4 资源的标签 54
4.5.5 其他功能 54
4.6 游戏视图 55
4.6.1 常用内容 55
4.6.2 其他按钮 56
4.7 控制台窗口 57
4.7.1 基本操作 57
4.7.2 工具栏 57
4.8 资源商城 58
4.9 包管理器 60
4.10 菜单及其他常用操作 61
4.11 提示和总结 62
第5章 从新建到生成 63
5.1 新建到生成过程描述 64
5.1.1 新建项目 64
5.1.2 资源和插件的导入及设置 64
5.1.3 场景搭建 64
5.1.4 特效、动画的制作 65
5.1.5 程序逻辑开发 65
5.1.6 调试和生成 65
5.2 简单的例子 65
5.2.1 新建项目 65
5.2.2 目录设置,添加和导入资源 66
5.2.3 场景搭建 68
5.2.4 效果添加设置 75
5.2.5 添加UI并设置逻辑 77
5.2.6 生成应用 80
5.3 提示和总结 81
第6章 Unity脚本的基础内容(上) 82
6.1 C#基础概述 82
6.2 Unity 3D的内置数据类型 83
6.3 MonoBehaviour 84
6.3.1 脚本组件 84
6.3.2 特殊赋值方式 84
6.3.3 Unity基础事件 86
6.4 Debug类 89
6.5 游戏对象的基本操作 90
6.5.1 获取指定游戏对象 90
6.5.2 其他操作 95
6.6 游戏对象位置的旋转和缩放 98
6.6.1 获取并设置坐标 99
6.6.2 获取并设置旋转 99
6.6.3 获取并设置缩放 100
6.7 Time 101
6.7.1 Time的3个常用属性 101
6.7.2 移动 101
6.7.3 旋转 103
6.7.4 缩放 104
6.8 组件获取和基本操作 105
6.8.1 获取指定组件 105
6.8.2 组件的基本操作 107
6.9 提示和练习 108
第7章 Unity脚本的基础内容(下) 110
7.1 应用退出和场景控制 110
7.1.1 应用退出 110
7.1.2 场景加载 110
7.1.3 DontDestroyOnLoad和单实例 112
7.2 协程和重复 113
7.2.1 协程 113
7.2.2 延时调用 115
7.2.3 重复调用 115
7.3 实例化 116
7.3.1 基本用法 116
7.3.2 传入类型 117
7.3.3 其他 117
7.4 PlayerPrefs保存获取数据 117
7.5 ScriptableObject 118
7.5.1 新建 119
7.5.2 使用 120
7.5.3 其他 121
7.6 调用其他组件上的方法 123
7.6.1 SendMessage 123
7.6.2 获取组件调用 125
7.7 Unity中与计算有关的内容 126
7.7.1 随机数 126
7.7.2 Mathf类 126
7.7.3 向量计算 127
7.8 其他 127
7.8.1 获取目录 127
7.8.2 平台判断 127
7.8.3 JsonUtility 128
7.8.4 注解 128
7.8.5 Gizmos 129
7.9 脚本常见错误 130
7.10 提示总结和练习 132
第8章 Unity常用基础功能(上) 135
8.1 常用资源导入后的设置 136
8.1.1 图片资源设置 137
8.1.2 模型资源设置 137
8.1.3 音频资源设置 138
8.1.4 视频资源设置 139
8.2 预制件 139
8.2.1 生成预制件 140
8.2.2 预制件的编辑 140
8.2.3 拆解预制件和生成预制件变体 142
8.2.4 预制件的编程 142
8.3 摄像机 143
8.3.1 投影 144
8.3.2 剪裁平面与清除标识 145
8.3.3 剔除遮罩 145
8.3.4 深度和视口矩形 146
8.3.5 其他 147
8.4 Unity UI 149
8.4.1 RectTransform 150
8.4.2 RectTransform的程序控制 153
8.4.3 画布 158
8.4.4 文本和图像 163
8.4.5 交互游戏对象 174
8.4.6 自动布局相关组件 183
8.4.7 事件响应 194
8.5 音频播放 205
8.5.1 音频剪辑 205
8.5.2 音频源 206
8.5.3 音频监听器 206
8.5.4 音频播放的程序控制 207
8.6 视频播放 208
8.6.1 视频剪辑 209
8.6.2 视频播放器 209
8.6.3 播放视频的几种方法 210
8.6.4 视频播放的程序控制 217
8.7 提示总结和小练习 219
第9章 Unity常用基础功能(下) 221
9.1 输入 221
9.1.1 键盘按键输入 221
9.1.2 鼠标输入 222
9.1.3 触屏输入 224
9.1.4 输入管理器 225
9.1.5 单击物体 230
9.1.6 UI击穿 237
9.2 物理系统 239
9.2.1 刚体组件 239
9.2.2 碰撞器组件 245
9.2.3 关节和物理材质 249
9.2.4 其他 252
9.3 动画 254
9.3.1 动画剪辑 255
9.3.2 使用动画窗口制作动画剪辑 261
9.3.3 动画剪辑中的事件 269
9.3.4 动画器控制器 271
9.3.5 动画组件和动画的程序控制 287
9.4 导航寻路 288
9.4.1 导航网格资源 289
9.4.2 导航网络代理组件 292
9.4.3 导航网络代理的程序控制 293
9.4.4 分离网格链接组件 294
9.4.5 导航网格障碍物组件 296
9.5 拖尾和线 297
9.5.1 拖尾 297
9.5.2 线 299
9.5.3 宽度设置 302
9.5.4 颜色设置 303
9.5.5 材质设置 304
9.5.6 其他共有属性 305
9.6 光照组件和粒子组件 306
9.6.1 光照组件 306
9.6.2 粒子系统组件 307
9.7 提示总结和小练习 309
第10章 Unity开发简单框架及常用技巧 310
10.1 多个Manager的简单框架 310
10.1.1 演化过程 310
10.1.2 多个Manager框架的说明 311
10.2 ScriptableObject的使用 312
10.3 AI的简单实现 313
第11章 狗狗打怪项目结构和设置 315
11.1 项目总体结构 315
11.2 项目基本设置 316
第12章 指针切换及玩家移动攻击 325
12.1 鼠标指针切换 325
12.1.1 场景设置 325
12.1.2 添加并设置MouseManager脚本 330
12.2 玩家单击移动 333
12.2.1 导航区域烘焙 334
12.2.2 玩家游戏对象设置 337
12.2.3 使用MouseManager修改脚本 340
12.2.4 使用PlayerController编辑脚本 341
12.2.5 运行测试 342
12.3 玩家动画制作和移动匹配 343
12.3.1 选取动作 343
12.3.2 添加动作控制器 345
12.3.3 添加移动用的混合树 345
12.3.4 添加攻击和死亡状态 346
12.3.5 修改PlayerController脚本 349
12.4 玩家攻击敌人 349
12.5 镜头设置 352
第13章 敌人攻击 355
13.1 动画动作准备 355
13.2 敌人预制件制作 357
13.3 EnemyController脚本编辑 360
13.3.1 基本的有限状态机 360
13.3.2 死亡和站桩状态 362
13.3.3 巡逻状态 363
13.3.4 追击状态 365
第14章 角色状态和伤害计算 368
14.1 角色状态 368
14.2 伤害计算 373
14.2.1 修改脚本添加伤害计算 374
14.2.2 添加动作事件 376
14.2.3 运行测试 377
14.3 等级升级 378
14.4 敌人血量显示 382
14.4.1 添加血条预制件 383
14.4.2 脚本修改 385
14.4.3 设置敌人 387
14.5 玩家血量经验值显示 389
14.5.1 设置玩家血量界面 390
14.5.2 添加、编辑GameManager脚本 393
14.5.3 修改PlayerController脚本 394
14.5.4 添加、编辑PlayerHealthUI脚本 395
第15章 场景传送和数据存取 397
15.1 当前场景传送 397
15.1.1 添加传送目标点脚本 398
15.1.2 添加传送起始点脚本 398
15.1.3 传送点预制件设置 399
15.1.4 添加、编写SceneManager脚本 401
15.2 玩家数据的保存和读取 404
15.3 不同场景传送 407
15.3.1 添加主场景的传送点 407
15.3.2 设置预制件 407
15.3.3 另一个场景的设置 408
15.3.4 可用场景设置 411
15.3.5 脚本修改 411
第16章 狗狗打怪菜单场景 414
|
內容試閱:
|
Unity是由Unity Technologies开发互动内容的多平台综合型开发工具,不仅在游戏开发、动画制作方面应用广泛,而且越来越多地应用于增强现实、虚拟现实、数字孪生等内容的开发。
本书面向的读者是没有接触过Unity游戏开发的初学者。读者可以通过本书快速掌握Unity游戏开发的常用技术,并且能够参照“狗狗打怪”示例游戏制作出自己的作品。
本书内容介绍
第1~5章介绍了Unity的安装、应用生成、Unity相关的基础概念和常用的界面操作,并通过第5章的一个小示例让读者对Unity游戏的开发过程有一个初步的了解,为后面的学习打下基础。
第6~9章介绍了Unity游戏开发中脚本的基础内容,以及常用基础功能(如界面、动画等)的开发,每章后面都有小练习以巩固学习内容。
第10~16章以一个简单的ARPG(动作角色扮演类)游戏“狗狗打怪”为例介绍如何控制人物及NPC(非玩家角色)的移动和动画、设置状态、实现战斗过程、场景切换和数据存取,以及游戏菜单设计。
示例源代码下载
本书配套的示例代码请用微信扫描右边的二维码获取,也可按提示把下载链接转发到自己的邮箱中下载。如果有问题,请直接发送邮件至booksaga@163.com,邮件主题为“Unity 2020游戏开发快速上手”。
本书的特点
快速上手:以直接、细致的方式指导读者快速掌握Unity的使用和Unity游戏开发的方法,基础内容章节还提供了对应的视频内容。
理解架构:书中通过结构图、流程图、思维导图等方式帮助读者理解并掌握Unity的概念、结构以及游戏开发的思路。
实战引导:通过实际游戏项目示例介绍Unity游戏开发的一个简单且实用的框架,让次使用Unity开发的读者不至于面对项目不知所措。这个框架不仅可以用于游戏开发,也可以用于其他一些小型项目的开发。
本书读者
本书适合Unity平台游戏开发初学者、游戏与数字孪生开发人员阅读,也适合作为高等院校、中职学校和培训机构计算机游戏开发课程的教学参考书。
本书作者
吴雁涛,2000年毕业于西北工业大学,从事计算机软件开发相关工作,包括Web前端、Web后端、Untiy 3D开发等。著有《Unity 3D平台AR与VR开发快速上手》《Unity 2018 AR与VR开发快速上手》《Unity 3D平台AR快速开发上手—基于EasyAR 4.0》。
叶东海,2012年毕业于云南大学,从事网络安全和信息化建设与管理工作,研究数据挖掘和AR应用开发,有7年的教学工作经验,指导多项人工智能竞赛和创新创业项目。著有《数据库系统应用》《Unity 3D平台AR快速开发上手—基于EasyAR 4.0》。
赵杰,2003年毕业于云南大学软件工程专业,硕士,曾负责软件工程专业、网络工程专业和数字媒体专业本科生创新创业指导工作。有15年的教学工作经验,指导过多项大学生创新创业项目。著有《Unity 3D平台AR快速开发上手——基于EasyAR 4.0》。
作 者
2021年9月
|
|