商品详情
书名:新印象:Unity2020游戏开发基础与实战
定*:129.8
ISBN:9787**5553645
作者:杜亚南
版次:第*版
出版时间:202*-*0
内容提要:
这是*本以技术讲解与项目实战为主的Unity游戏开发教程图书。本书以简洁明快的语言对Unity的重点知识进行了讲解,配合详细的图文注释和大量的项目实例,让读者能够轻松快速地入门Unity,同时在本书后面的章节中也*含了很多游戏编程中的进*知识,可供基础较好的读者进行拓展。另外,本书还为每个章节中的项目实战提供了配套视频,视频中通过讲解项目实战来详细讲解每章的重点知识,以便读者更加轻松地入门。 *书共*6章。第*~4章为Unity基础*分,主要介绍Unity的基础操作和与编程相关的知识;第5~*0章为Unity进**分,主要按照“物理系统→粒子系统→动画系统→导航系统→游戏界面系统→2D游戏开发”这*流程介绍Unity游戏开发的核心技术和思路;第**~*5章为Unity拓展*分,主要介绍数据网络、AR和VR等*级技术的使用;第*6章为3D游戏开发综合实例,让读者以*个完整的实战项目来结束本书的学习。 本书既面向初*,又为具备Unity基础而想更进*步学习或是需要*本Unity工具书查询的读者提供了便捷的渠道。*书内容均采用Unity 2020和Visual Studio 20*9编写,请读者使用同样或更*的版本学习。
作者简介:
9年技术开发及项目团队管理经验,曾*职于北京远景天图科技有限公司,制作多款游戏与企业应用,在iOS、HTML5、.NET、Unity等方面有很深的造诣。后担任多年北京线下培训机构iOS主管与Unity总监,授课经验丰富,风格幽默风趣,课程实战性强。曾打造iOS与Unity方向完整的线下课程体系,非常适合零基础和刚入门的学员系统深入学习,深受学生与编程爱好者的欢迎。
目录:
第*章 基础知识 025
*.* 游戏引擎026
*.*.* 认识游戏引擎 026
*.*.2 Unity的*势 026
*.2 下载与安装 027
*.2.* Unity Hub的下载与安装 027
*.2.2 Visual Studio的下载与安装 029
*.3 认识编辑器029
*.3.* 设置脚本编辑器与语言 029
*.3.2 了解编辑器结构 030
*.3.3 管理项目文件 032
*.3.4 管理游戏物体 033
*.3.5 游戏场景设置 034
*.3.6 预览游戏 035
*.3.7 管理“控制台”面板 036
第2章 打造3D游戏* 037
2.* 操控物体038
2.*.* 了解3D坐标系 038
2.*.2 *坐标系与本地坐标系 038
2.*.3 *建实物 039
2.*.4 物体中心点 039
2.*.5 物体的操作 040
实例:制作电脑桌 04*
2.2 3D模型042
2.2.* 网格 042
2.2.2 材质 043
2.2.3 资源商店. 044
实例:导入商店资源 045
2.3 3D场景元素046
2.3.* 地形 046
技术*题:绘制纹理 048
技术*题:抬*地面 049
2.3.2 树木 049
2.3.3 草细节 050
2.3.4 水效果 05*
2.4 综合案例:打造野外风景05*
2.4.* 游戏描述 05*
2.4.2 *建地形 052
2.4.3 绘制地表 053
2.4.4 添加植被和河流 053
2.4.5 角色预览 054
第3章 游戏脚本基础 055
3.* 第*个组件脚本 056
3.*.* 什么是组件 056
3.*.2 组件脚本的*建 056
3.*.3 组件的使用 057
技术*题:区分两种粘贴组件的方式 058
3.*.4 脚本的生命周期 058
3.*.5 多个脚本的执行顺序 059
3.2 游戏物体 059
3.2.* 物体名称和激活状态 059
3.2.2 给物体设定*个标签 060
3.2.3 给物体设定*个图层 060
3.3 线性代数 06*
3.3.* 标量与向量 06*
3.3.2 向量的加法 06*
3.3.3 向量的减法 062
3.3.4 点乘获取夹角角度 062
3.3.5 叉乘获取平面垂直向量 062
3.4 预制件的*建与使用 062
3.4.* *建预制件 063
3.4.2 编辑预制件 063
3.4.3 添加组件与子物体 064
3.4.4 预制件变体 065
操作演示:搭建像素游戏场景 065
3.5 游戏常用API 066
3.5.* Vector3常用属性方法 066
3.5.2 Quaternion常用属性方法 067
3.5.3 Debug常用属性方法 067
操作演示:调试示例 067
3.5.4 GameObject常用属性方法 068
技术*题:区分activeInHierarchy和activeSelf 068
3.5.5 Time常用属性方法 068
3.5.6 Mathf常用属性方法 068
3.5.7 Application 常用属性方法 069
3.5.8 Scene常用属性方法 069
3.5.9 Transform常用属性方法 069
技术*题:区分Transform与Vector3中的向量 069
3.6 输入控制069
3.6.* 键盘和鼠标 069
3.6.2 虚拟轴 070
3.6.3 手机触摸. 07*
实例:虚拟轴的使用 072
3.7 综合案例:*破人073
3.7.* 游戏描述 074
3.7.2 项目准备 074
3.7.3 角色控制 074
3.7.4 放置炸弹 075
3.7.5 安排敌人 076
3.7.6 释放炸弹 077
3.7.7 摄像机跟随 077
第4章 游戏场景 079
4.* 场景灯光 080
4.*.* 巧用各式灯光 080
4.*.2 光照烘焙 08*
操作演示:制作游戏夜晚场景 082
4.2 场景摄像机084
4.2.* 选择合适的摄像机 084
4.2.2 透视摄像机与正交摄像机 084
4.2.3 摄像机的显示设置 085
技术*题:摄像机深度可以呈现的效果 085
技术*题:目标纹理的使用 086
4.3 多媒体应用086
4.3.* 为角色添加耳朵 086
4.3.2 为场景添加音频源 086
4.3.3 通过脚本控制音频效果 087
实例:控制音频的播放和暂停 087
4.3.4 完成视频的播放 088
实例:播放电视画面 089
4.4 玩家角色控制090
4.4.* 角色控制器 090
4.4.2 通过脚本控制角色移动 090
技术*题:判断角色控制器是否位于地面 09*
4.5 综合案例:寻宝游戏 09*
4.5.* 游戏描述 09*
4.5.2 项目准备 092
4.5.3 播放背景音乐 092
4.5.4 *建金币*效 092
4.5.5 编写宝箱脚本 093
第5章 物理系统 095
5.* 给物体添加重力 096
5.*.* 重力与刚体 096
5.*.2 刚体类常用的属性方法 096
技术*题:刚体休眠原理 097
操作演示:通过刚体控制球体运动 097
5.2 给物理*添加碰撞 098
5.2.* 墙体的碰撞 098
5.2.2 球体碰撞器 099
5.2.3 胶囊碰撞器 099
5.2.4 地形碰撞器 099
5.2.5 网格碰撞器 *00
操作演示:制作简易赛车 *00
5.3 物理关节与材质 *0*
5.3.* 铰链关节 *02
操作演示:通过铰链关节控制门的转动 *02
5.3.2 弹簧关节 *03
5.3.3 固定关节 *04
5.3.4 物理材质 *04
5.4 碰撞与触发检测 *05
5.4.* 碰撞检测 *05
5.4.2 触发检测 *05
实例:逃脱游戏 *06
5.5 可以碰撞的射线 *08
5.5.* 射线碰撞检测 *08
5.5.2 射线多碰撞检测 *08
技术*题:射线与图层的碰撞 *08
实例:点亮和熄灭蜡烛 *09
5.6 综合案例:飞船大战**0
5.6.* 游戏描述 ***
5.6.2 导入玩家飞船 ***
5.6.3 移动飞船 **2
5.6.4 天空环境 **2
5.6.5 导入敌人飞船 **3
5.6.6 生成敌机 **4
5.6.7 添加玩家攻击 **4
第6章 粒子系统 **7
6.* 粒子系统的使用 **8
6.*.* 添加粒子系统 **8
6.*.2 粒子系统的基本属性 **8
6.2 粒子的效果设置 **9
6.2.* 粒子发射器 **9
6.2.2 发射器形状 **9
6.2.3 粒子渲染效果 *20
6.2.4 粒子速度 *20
6.2.5 粒子颜色、大小与旋转 *20
技术*题:粒子的渐变调节 *2*
技术*题:粒子的形态调节 *2*
实例:制作烟花效果 *22
6.2.6 其他功能模块 *23
实例:制作火焰雨技能效果 *23
6.3 线条效果 *26
6.3.* 线段渲染器 *26
操作演示:使用脚本绘制动态线条 *27
实例:模拟画图 *28
6.3.2 拖尾渲染器 *29
操作演示:使用脚本制作拖尾旋转效果 *30
6.4 综合案例:魔法大战 *3*
6.4.* 游戏描述 *3*
6.4.2 *建项目 *32
6.4.3 角色控制 *32
6.4.4 编写魔法脚本 *33
6.4.5 敌人孵化点 *33
6.4.6 编写敌人脚本 *34
第7章 动画系统 *35
7.* 动画 *36
7.*.* 动画组件 *36
7.*.2 通过属性制作动画 *37
技术*题:添加关键帧的另外3种方式 *37
7.*.3 通过动画曲线控制平滑效果 *37
技术*题:动画曲线的操作 *38
7.*.4 执行*个帧事件 *38
操作演示:制作门的开关动画 *38
7.2 动画器 *40
7.2.* 动画器组件 *40
7.2.2 动画控制器 *4*
7.2.3 使用脚本切换动画 *42
操作演示:使用脚本控制跑步动画 *43
7.2.4 动画剪辑常用属性 *45
7.2.5 编辑动画曲线 *45
7.2.6 Animator帧事件 *46
7.2.7 混合动画 *47
7.2.8 动画层 *48
技术*题:状态机的嵌套 *48
7.2.9 Avatar遮罩 *49
实例:播放混合动画 *49
7.2.*0 反向动力学 *5*
实例:动作游戏动画的切换 *53
7.3 综合案例:潜入游戏 *57
7.3.* 游戏描述 *58
7.3.2 *建项目 *58
7.3.3 制作角色动画 *59
7.3.4 添加敌人 *62
7.3.5 添加*点 *64
第8章 导航系统 *65
8.* 导航网格区域 *66
8.*.* 生成导航网格 *66
技术*题:导航静态设置 *66
8.*.2 导航烘焙属性 *66
8.2 导航代理 *67
8.2.* 导航网格代理 *67
8.2.2 添加障碍物 *68
技术*题:障碍物的网格切割 *69
操作演示:躲避障碍物 *69
8.3 设置导航网格* *7*
8.3.* 代理角色的掉落*度与跳跃距离 *7*
8.3.2 导航网格* *72
8.4 设置导航区域 *73
8.4.* 设置模拟区域 *73
8.4.2 设置区域成本 *73
操作演示:河流导航区域 *74
实例:穿越斑马线 *75
8.5 综合案例:塔*游戏 *78
8.5.* 游戏描述 *78
8.5.2 *建炮台和地板 *79
8.5.3 设置敌人进攻路线 *79
8.5.4 *建敌人孵化器 *80
8.5.5 *建炮弹 *8*
8.5.6 设置炮台 *82
8.5.7 完善场景 *83
第9章 游戏界面系统 *85
9.* 了解UI基础控件 *86
9.*.* *建*个画布 *86
9.*.2 控制UI控件的位置布局 *87
操作演示:界面自适应布局 *88
9.2 常用UI控件 *90
9.2.* 图像 *90
技术*题:制作九宫格图片 *9*
9.2.2 各类文本 *92
技术*题:增加文本效果 *92
9.2.3 按钮 *93
9.2.4 文本框 *93
9.2.5 选项 *94
技术*题:制作复选框 *94
9.2.6 下拉列表框 *94
技术*题:用脚本设置球类运动项目 *95
9.2.7 滚动视图 *95
技术*题:制作滚动视图 *96
9.2.8 滑动条 *96
9.2.9 面板 *96
实例:游戏主界面的应用 *97
9.3 常用UI组件 *98
9.3.* 遮罩组件 *98
9.3.2 内容尺寸适应器 *99
9.3.3 垂直和水平布局组 *99
9.3.4 网格布局组 *99
技术*题:以网格方式平铺图像 200
实例:背*界面的应用 200
9.4 综合案例:对话游戏 202
9.4.* 游戏描述 203
9.4.2 导入资源 203
9.4.3 对话界面 203
9.4.4 对话脚本 204
9.4.5 切换人物及背景 205
第*0章 2D游戏开发 207
*0.* 制作2D游戏 208
*0.*.* *建2D项目 208
*0.*.2 *建*灵 208
*0.2 瓦片地图 209
*0.2.* *建瓦片地图 209
技术*题:切片的3种类型 209
*0.2.2 绘制瓦片地图 2**
操作演示:绘制花园 2**
*0.3 2D物理与动画 2*3
*0.3.* *灵刚体与碰撞 2*3
技术*题:放大游戏物体后如何*失真 2*3
技术*题:冻结角色旋转 2*4
*0.3.2 瓦片地图碰撞器 2*4
*0.3.3 2D动画 2*5
实例:跳*跳 2*6
*0.4 综合案例:小岛历险记 2*8
*0.4.* 游戏描述 2*9
*0.4.2 冒险小岛 2*9
*0.4.3 添加角色 22*
*0.4.4 吃果实得分 224
第**章 游戏中的数据与网络 227
**.* 常用数据格式 228
**.*.* 轻量数据格式JSON 228
**.*.2 可扩展标记语言XML 229
**.*.3 CSV与Excel 230
实例:制作物品数据 23*
**.*.4 SQLite 232
实例:操作数据库 233
**.2 多线程 234
**.2.* 多线程的使用 234
**.2.2 协程的使用 234
**.3 网络请求的使用 236
**.3.* 网络请求 236
**.3.2 搭建简易服务器 236
**.3.3 网络请求的基本使用方法 236
**.3.4 Socket与TCP/IP 237
实例:Socket通信 238
**.4 综合案例:登录请求 239
**.4.* 项目描述 239
**.4.2 搭建服务器 240
**.4.3 添加登录UI控件 240
**.4.4 *建登录界面 240
**.4.5 解析登录数据 24*
第*2章 使用设计模式完善代码 243
*2.* 代码的状态 244
*2.*.* 理解状态模式 244
*2.*.2 非状态模式代码示例 244
实例:状态模式的代码实现 244
*2.2 把复杂的代码封装起来 245
*2.2.* 理解外观模式 246
*2.2.2 非外观模式代码示例 246
实例:外观模式的代码实现 246
*2.3 单*的对象 247
*2.3.* 理解单例模式 247
*2.3.2 非单例模式代码示例 248
实例:单例模式的代码实现 248
*2.4 定义*种观察者模式 250
*2.4.* 理解观察者模式 250
*2.4.2 非观察者模式代码示例 250
实例:观察者模式的代码实现 25*
*2.5 *建多对象的推荐方式 252
*2.5.* 理解工厂模式 253
*2.5.2 非工厂模式代码示例 253
实例:工厂模式的代码实现 253
*2.6 综合案例:简易消息框架 254
*2.6.* 项目描述 254
*2.6.2 消息基类 255
*2.6.3 音频管理类 255
*2.6.4 物品管理类 255
*2.6.5 框架测试 256
第*3章 Lua与人工智能 257
*3.* 游戏*域的热门语言 258
*3.*.* Lua脚本语言 258
*3.*.2 xLua的使用 258
实例:使用xLua实现热修复 259
*3.2 人工智能 260
*3.2.* 模拟视觉感知 260
*3.2.2 有限状态机 26*
实例:有限状态机的实现 262
*3.3 综合案例:NPC智能巡逻 264
*3.3.* 游戏描述 264
*3.3.2 迷宫初成 264
*3.3.3 NPC动画 265
*3.3.4 NPC巡逻 265
第*4章 虚拟现实与增强现实 267
*4.* 增强现实 268
*4.*.* 增强现实 268
*4.*.2 Vuforia 268
实例:在Unity中使用Vuforia 270
*4.2 虚拟现实 27*
*4.2.* VR环境搭建 27*
*4.2.2 进入VR* 272
实例:Unity在VR*中的应用 272
*4.3 综合案例:VR*龄球 274
*4.3.* 游戏描述 274
*4.3.2 VR可视化 275
*4.3.3 抓取与投掷 275
*4.3.4 持续生成 276
*4.3.5 自动更新 277
第*5章 项目*署 279
*5.* 使用AssetBundle管理资源 280
*5.*.* 生成AssetBundle 280
*5.*.2 使用AssetBundle加载资源 28*
*5.*.3 使用AssetBundle加载依赖 28*
*5.2 游戏*署 282
*5.2.* 打*设置 282
*5.2.2 Windows和Mac平台*署 283
*5.2.3 Android平台*署 283
技术*题:安装Android或iOS模块 284
*5.2.4 iOS平台*署 284
*5.3 综合案例:Android平台的*署 285
*5.3.* 项目描述 285
*5.3.2 *署准备 285
*5.3.3 *署设置 286
技术*题:按顺序显示两个启动Logo 287
*5.3.4 打*APK 288
第*6章 综合案例:角色扮演游戏 289
*6.* *域之战 290
*6.*.* 玩法介绍 290
*6.*.2 实现路径 290
*6.2 古老的亚*拉斯帝* 294
*6.2.* 帝*崛起 294
*6.2.2 歌声悠扬 296
*6.3 主角:新手上路 296
*6.3.* 游览新手村 297
*6.3.2 活动身手 299
*6.4 任务:击杀两个石头人 304
*6.4.* 解析任务数据 304
*6.4.2 管理任务数据 305
*6.5 注意:出现敌人 306
*6.5.* 敌人靠近 306
*6.5.2 敌人孵化器 309
*6.6 紧急:血量减少 3*0
*6.6.* 满血血条 3*0
*6.6.2 更新血条 3*0
*6.7 对话:找到玛尔 3**
*6.7.* 任务UI 3**
*6.7.2 接受任务 3*2
*6.8 攻击:释放技能 3*3
*6.8.* 技能*效 3*3
*6.8.2 伤害值 3*7
*6.8.3 掉落宝物 3*9
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...