1.针对初学者精心设计,每章内容1小时轻松阅读,24小时轻松掌握关键知识。 2.本书是第4版中译本,针对2020.3版本Unity完整更新。 3. 手把手教你完整发4款游戏。 (1)Amazing Racer 游戏:与时间赛跑的3D 竞走游戏。 (2)Chaos Ball 游戏:涉及大量的碰撞和物理动力学。 (3)Captain Blaster 游戏:复古风格的2D 太空射游戏,使用了滚动背景和2D效果。 (4)Gauntlet Runner 游戏:3D 跑酷游戏,包括收集充电装置和避障碍物。
售 价:¥
纸质售价:¥85.30购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版 权 声 明
内 容 提 要
作译者简介
前 言
致 谢
资源与支持
第1章 Unity简介
1.1 安装Unity
1.1.1 下载并安装Unity Hub
1.1.2 安装Unity编辑器
1.2 熟悉Unity编辑器
1.2.1 项目部分
1.2.2 Unity界面
1.2.3 项目视图
1.2.4 层级视图
1.2.5 检查器视图
1.2.6 场景视图
1.2.7 游戏视图
1.2.8 值得一提:工具栏
1.3 在场景视图中移动
1.3.1 手形工具
1.3.2 飞越模式
1.4 总结
1.5 问答
1.6 测试
1.6.1 试题
1.6.2 答案
1.7 练习
第2章 游戏对象
2.1 维度和坐标系统
2.1.1 走进3D
2.1.2 使用坐标系统
2.1.3 世界坐标和局部坐标
2.2 游戏对象
2.3 变换
2.3.1 移动
2.3.2 旋转
2.3.3 缩放
2.3.4 变换的风险
2.3.5 工具句柄位置
2.3.6 变换或嵌套对象
2.4 总结
2.5 问答
2.6 测试
2.6.1 试题
2.6.2 答案
2.7 练习
第3章 模型、材质和纹理
3.1 模型的基础知识
3.1.1 内置的3D对象
3.1.2 导入模型
3.1.3 模型和资源商店
3.2 纹理、着色器和材质
3.2.1 纹理
3.2.2 着色器
3.2.3 材质
3.2.4 再论着色器
3.3 总结
3.4 问答
3.5 测试
3.5.1 试题
3.5.2 答案
3.6 练习
第4章 地形和环境
4.1 地形生成
4.1.1 为项目添加地形
4.1.2 高度图的绘制
4.1.3 Unity绘制地形工具
4.2 地形纹理
4.2.1 导入地形资源
4.2.2 纹理化地形
4.3 生成树和草
4.3.1 绘制树
4.3.2 绘制草
4.3.3 地形设置
4.4 角色控制器
添加一个角色控制器
4.5 总结
4.6 问答
4.7 测试
4.7.1 试题
4.7.2 答案
4.8 练习
第5章 灯光和摄像机
5.1 灯光
5.1.1 烘焙与实时
5.1.2 点光源
5.1.3 聚光灯
5.1.4 定向光
5.1.5 利用对象创建灯光
5.1.6 光晕
5.1.7 剪影
5.2 摄像机
5.2.1 剖析摄像机
5.2.2 多个摄像机
5.2.3 拆分屏幕和画中画
5.3 图层
5.3.1 处理图层
5.3.2 使用图层
5.4 总结
5.5 问答
5.6 测试
5.6.1 试题
5.6.2 答案
5.7 练习
第6章 游戏案例1:Amazing Racer
6.1 设计
6.1.1 概念
6.1.2 规则
6.1.3 需求
6.2 创建游戏世界
6.2.1 绘制游戏世界
6.2.2 添加环境
6.2.3 雾
6.2.4 天空盒
6.2.5 角色控制器
6.3 游戏化
6.3.1 添加游戏控制器对象
6.3.2 添加脚本
6.3.3 连接脚本
6.4 游戏测试
6.5 总结
6.6 问答
6.7 测试
6.7.1 试题
6.7.2 答案
6.8 练习
第7章 脚本(第一部分)
7.1 脚本
7.1.1 创建脚本
7.1.2 附加脚本
7.1.3 一个基本脚本的详细分析
7.1.4 using部分
7.1.5 类声明部分
7.1.6 类的内容
7.2 变量
7.2.1 创建变量
7.2.2 变量可用域
7.2.3 公有和私有
7.3 运算符
7.3.1 算术运算符
7.3.2 赋值运算符
7.3.3 等式运算符
7.3.4 逻辑运算符
7.4 条件语句
7.4.1 if语句
7.4.2 if/else语句
7.4.3 if/else if语句
7.5 循环语句
7.5.1 while循环语句
7.5.2 for循环语句
7.6 总结
7.7 问答
7.8 测试
7.8.1 试题
7.8.2 答案
7.9 练习
第8章 脚本(第二部分)
8.1 方法
8.1.1 方法的具体分析
8.1.2 编写方法
8.1.3 使用方法
8.2 输入
8.2.1 输入的基础知识
8.2.2 编写输入脚本
8.2.3 特定的键输入
8.2.4 鼠标输入
8.3 访问局部组件
8.3.1 使用GetComponent
8.3.2 获取变换
8.4 访问其他对象
8.4.1 查找其他对象
8.4.2 修改对象组件
8.5 总结
8.6 问答
8.7 测试
8.7.1 试题
8.7.2 答案
8.8 练习
第9章 碰撞
9.1 刚体
9.2 碰撞器和物理材质
9.2.1 碰撞器
9.2.2 物理材质
9.3 触发器
9.4 光线投射
9.5 总结
9.6 问答
9.7 测试
9.7.1 试题
9.7.2 答案
9.8 练习
第10章 游戏案例2:Chaos Ball
10.1 设计
10.1.1 概念
10.1.2 规则
10.1.3 需求
10.2 舞台
10.2.1 创建舞台
10.2.2 纹理化
10.2.3 创建超级弹性材质
10.2.4 完成舞台
10.3 游戏实体
10.3.1 游戏角色
10.3.2 混沌球
10.3.3 彩色球
10.4 控制对象
10.4.1 球门
10.4.2 游戏控制器
10.5 优化游戏
10.6 总结
10.7 问答
10.8 测试
10.8.1 试题
10.8.2 答案
10.9 练习
第11章 预制件
11.1 预制件的基础知识
11.1.1 预制件的术语
11.1.2 预制件结构
11.2 使用预制件
11.2.1 新建预制件
11.2.2 向场景中添加一个预制件实例
11.2.3 修改已有预制件
11.2.4 使用代码实例化预制件
11.3 总结
11.4 问答
11.5 测试
11.5.1 试题
11.5.2 答案
11.6 练习
第12章 2D游戏工具
12.1 2D游戏的基础知识
2D场景视图
12.2 正交摄像机
12.3 添加精灵
12.3.1 导入精灵
12.3.2 Sprite模式
12.3.3 导入精灵大小
12.4 绘制顺序
12.4.1 排序图层
12.4.2 图层顺序
12.5 2D物理
12.5.1 2D刚体
12.5.2 2D碰撞器
12.6 总结
12.7 问答
12.8 测试
12.8.1 试题
12.8.2 答案
12.9 练习
第13章 2D瓦片地图
13.1 瓦片地图的基础知识
13.1.1 创建一个瓦片地图
13.1.2 网格
13.2 调色板
13.3 瓦片的相关操作
13.3.1 配置精灵
13.3.2 创建瓦片
13.3.3 绘制瓦片
13.3.4 自定义调色板
13.4 瓦片地图和物理属性
13.4.1 瓦片地图碰撞器
13.4.2 使用Composite Collider 2D组件
13.5 总结
13.6 问答
13.7 测试
13.7.1 试题
13.7.2 答案
13.8 练习
第14章 用户界面
14.1 UI的基本原则
14.2 画布
14.2.1 矩形变换
14.2.2 锚点
14.2.3 其他Canvas组件
14.3 UI元素
14.3.1 图像
14.3.2 文本
14.3.3 按钮
14.4 画布渲染模式
14.4.1 屏幕空间-覆盖
14.4.2 屏幕空间-摄像机
14.4.3 世界空间
14.5 总结
14.6 问答
14.7 测试
14.7.1 试题
14.7.2 答案
14.8 练习
第15章 游戏案例3:Captain Blaster
15.1 设计
15.1.1 概念
15.1.2 规则
15.1.3 需求
15.2 画布
15.2.1 摄像机
15.2.2 背景
15.2.3 游戏实体
15.2.4 游戏角色
15.2.5 流星
15.2.6 子弹
15.2.7 触发器
15.2.8 用户界面
15.3 控制
15.3.1 游戏控制器
15.3.2 流星的脚本
15.3.3 流星生成器
15.3.4 DestroyOnTrigger脚本
15.3.5 ShipControl脚本
15.3.6 Bullet脚本
15.4 优化
15.5 总结
15.6 问答
15.7 测试
15.7.1 试题
15.7.2 答案
15.8 练习
第16章 粒子系统
16.1 粒子系统的基础知识
16.1.1 粒子
16.1.2 Unity粒子系统
16.1.3 粒子系统的控制
16.2 粒子系统模块
16.2.1 默认模块
16.2.2 发射模块
16.2.3 形状模块
16.2.4 生命周期内速度模块
16.2.5 生命周期内速度限制模块
16.2.6 继承速度模块
16.2.7 基于发射器速度的生命周期模块
16.2.8 生命周期内受力模块
16.2.9 生命周期内颜色模块
16.2.10 速度颜色模块
16.2.11 生命周期内大小模块
16.2.12 速度决定大小模块
16.2.13 生命周期内旋转模块
16.2.14 按速度旋转模块
16.2.15 外力模块
16.2.16 噪音模块
16.2.17 碰撞模块
16.2.18 触发器模块
16.2.19 子发射器模块
16.2.20 纹理表格动画模块
16.2.21 光线模块
16.2.22 拖尾模块
16.2.23 自定义数据模块
16.2.24 渲染器模块
16.3 曲线编辑器
16.4 总结
16.5 问答
16.6 测试
16.6.1 试题
16.6.2 答案
16.7 练习
第17章 动画
17.1 动画的基础知识
17.1.1 绑定
17.1.2 动画
17.2 2D动画与创建动画
17.2.1 2D动画
17.2.2 创建动画
17.3 动画工具
17.3.1 动画视图
17.3.2 创建一个新的动画
17.3.3 记录模式
17.3.4 曲线编辑器
17.4 总结
17.5 问答
17.6 测试
17.6.1 试题
17.6.2 答案
17.7 练习
第18章 动画器
18.1 动画器的基础知识
18.1.1 绑定
18.1.2 导入模型
18.2 配置你的资源
18.2.1 绑定的准备工作
18.2.2 动画的准备工作
18.3 创建动画器
18.3.1 动画器视图
18.3.2 Idle动画
18.3.3 参数
18.3.4 状态和混合树
18.3.5 过渡
18.4 脚本控制动画器
18.5 总结
18.6 问答
18.7 测试
18.7.1 试题
18.7.2 答案
18.8 练习
第19章 时间轴
19.1 时间轴的基础知识
19.1.1 解析时间轴视图
19.1.2 创建一个时间轴
19.2 使用时间轴
19.2.1 时间轴视图
19.2.2 时间轴轨道
19.2.3 时间轴片段
19.3 不只是简单的控制
19.3.1 在轨道上混合片段
19.3.2 时间轴的脚本
19.4 总结
19.5 问答
19.6 测试
19.6.1 试题
19.6.2 答案
19.7 练习
第20章 游戏案例4:Gauntlet Runner
20.1 设计
20.1.1 概念
20.1.2 规则
20.1.3 需求
20.2 游戏世界
20.2.1 场景
20.2.2 赛道
20.2.3 让地面滚动起来
20.3 实体
20.3.1 充电装置
20.3.2 障碍物
20.3.3 触发区
20.3.4 游戏角色
20.4 控制
20.4.1 TriggerZone脚本
20.4.2 GameManager脚本
20.4.3 Player脚本
20.4.4 Collidable脚本
20.4.5 Spawner脚本
20.4.6 把游戏的各个部分结合起来
20.5 优化
20.6 总结
20.7 问答
20.8 测试
20.8.1 试题
20.8.2 答案
20.9 练习
第21章 音频
21.1 音频的基础知识
21.1.1 音频的组成部分
21.1.2 2D和3D音频
21.2 音频源
21.2.1 导入音频片段
21.2.2 在场景视图中测试音频
21.2.3 3D音频
21.2.4 2D音频
21.3 编写音频的脚本
21.3.1 启动和停止音频
21.3.2 更换音频片段
21.4 音频混合器
21.4.1 创建音频混合器
21.4.2 将音频发送给混合器
21.5 总结
21.6 问答
21.7 测试
21.7.1 试题
21.7.2 答案
21.8 练习
第22章 移动开发
22.1 移动开发的准备
22.1.1 设置环境
22.1.2 Unity Remote
22.2 加速计
22.2.1 为加速计设计游戏
22.2.2 使用加速计
22.2.3 多点触摸输入
22.3 总结
22.4 问答
22.5 测试
22.5.1 试题
22.5.2 答案
22.6 练习
第23章 润色和部署
23.1 管理场景
23.1.1 建立场景顺序
23.1.2 切换场景
23.2 保存数据和对象
23.2.1 保存对象
23.2.2 保存数据
23.3 Unity玩家设置
23.3.1 跨平台的设置
23.3.2 每个平台的设置
23.4 生成游戏
生成设置
23.5 总结
23.6 问答
23.7 测试
23.7.1 试题
23.7.2 答案
23.8 练习
第24章 结束语
24.1 成功
24.1.1 23章的学习
24.1.2 4个完整的游戏
24.1.3 超过50个场景
24.2 之后的方向
24.2.1 制作游戏
24.2.2 与人打交道
24.2.3 记录
24.3 可供使用的资源
24.4 总结
24.5 问答
24.6 测试
24.6.1 试题
24.6.2 答案
24.7 练习
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜