目录
第 1章 Unity简介 1
1.1 安装Unity 1
1.2 开始认识Unity编辑器 4
1.2.1 Project对话框 4
1.2.2 Unity界面 5
1.2.3 Project视图 7
1.2.4 Hierarchy视图 9
1.2.5 Inspector视图 10
1.2.6 Scene视图 11
1.2.7 Game视图 13
1.2.8 致敬:工具栏 14
1.3 导航Unity的Scene视图 15
1.3.1 Hand工具 15
1.3.2 Flythrough模式 16
1.4 小结 16
1.5 问与答 17
1.6 测验 17
1.6.1 问题 17
1.6.2 答案 17
1.6.3 练习 17
第 2章 游戏对象 19
2.1 维度和坐标系统 19
2.1.1 在3D中放入一个维度 19
2.1.2 使用坐标系统 20
2.1.3 世界坐标与局部坐标 21
2.2 游戏对象 22
2.3 变换 23
2.3.1 平移 23
2.3.2 旋转 24
2.3.3 缩放 25
2.3.4 变换的风险 26
2.3.5 变换和嵌套的对象 27
2.4 小结 27
2.5 问与答 27
2.6 测验 27
2.6.1 问题 28
2.6.2 答案 28
2.6.3 练习 28
第3章 模型、材质和纹理 29
3.1 模型的基础知识 29
3.1.1 内置的3D对象 30
3.1.2 导入模型 31
3.1.3 模型和Asset Store 32
3.2 纹理、着色器和材质 33
3.2.1 纹理 34
3.2.2 着色器 35
3.2.3 材质 35
3.2.4 再论着色器 36
3.3 小结 38
3.4 问与答 38
3.5 测验 38
3.5.1 问题 38
3.5.2 答案 38
3.5.3 练习 39
第4章 地形 40
4.1 地形生成 40
4.1.1 在项目中添加地形 40
4.1.2 高度图雕刻 42
4.1.3 Unity地形雕刻工具 44
4.2 地形纹理 46
4.2.1 导入地形资源 46
4.2.2 纹理化地形 47
4.3 小结 49
4.4 问与答 49
4.5 测验 49
4.5.1 问题 49
4.5.2 答案 49
4.5.3 练习 50
第5章 环境 51
5.1 生成树木和青草 51
5.1.1 绘制树木 51
5.1.2 绘制青草 53
5.1.3 地形设置 55
5.2 环境效果 56
5.2.1 天空盒 56
5.2.2 把天空盒添加给摄像机 57
5.2.3 把天空盒添加到场景中 57
5.2.4 雾 58
5.2.5 镜头光晕 58
5.2.6 水 59
5.3 角色控制器 60
5.3.1 添加角色控制器 60
5.3.2 修正游戏世界 62
5.4 小结 62
5.5 问与答 62
5.6 测验 62
5.6.1 问题 63
5.6.2 答案 63
5.6.3 练习 63
第6章 灯光和摄像机 64
6.1 灯光 64
6.1.1 点光源 65
6.1.2 聚光灯 66
6.1.3 定向灯光 67
6.1.4 利用对象创建灯光 68
6.1.5 晕轮 68
6.1.6 Cookie 69
6.2 摄像机 71
6.2.1 摄像机的具体分析 71
6.2.2 多部摄像机 72
6.2.3 拆分屏幕和图片中的图片 73
6.3 图层 75
6.3.1 处理图层 75
6.3.2 使用图层 76
6.4 小结 78
6.5 问与答 78
6.6 测验 78
6.6.1 问题 78
6.6.2 答案 79
6.6.3 练习 79
第7章 第 1款游戏:Amazing Racer 80
7.1 设计 80
7.1.1 理念 81
7.1.2 规则 81
7.1.3 需求 82
7.2 创建游戏世界 82
7.2.1 雕刻游戏世界 82
7.2.2 添加环境 83
7.2.3 角色控制器 84
7.3 游戏化 84
7.3.1 添加游戏控制对象 85
7.3.2 添加脚本 87
7.3.3 把脚本连接在一起 88
7.4 游戏测试 89
7.5 小结 90
7.6 问与答 90
7.7 测验 90
7.7.1 问题 91
7.7.2 答案 91
7.7.3 练习 91
第8章 编写第 1部分的脚本 92
8.1 脚本 93
8.1.1 创建脚本 93
8.1.2 附加脚本 95
8.1.3 一个基本脚本的详细分析 96
8.2 变量 98
8.2.1 创建变量 98
8.2.2 变量作用域 99
8.2.3 公共和私有 99
8.3 运算符 100
8.3.1 算术运算符 100
8.3.2 赋值运算符 101
8.3.3 相等性运算符 101
8.3.4 逻辑运算符 102
8.4 条件语句 103
8.4.1 if语句 103
8.4.2 if/else语句 104
8.4.3 if/else if语句 104
8.5 迭代 106
8.5.1 while循环 106
8.5.2 for循环 106
8.6 小结 107
8.7 问与答 107
8.8 测验 108
8.8.1 问题 108
8.8.2 答案 108
8.8.3 练习 108
第9章 编写第 2部分的脚本 109
9.1 方法 109
9.1.1 方法的具体分析 110
9.1.2 编写方法 112
9.2 输入 114
9.2.1 输入的基础知识 114
9.2.2 编写输入脚本 115
9.2.3 特定的键输入 116
9.2.4 鼠标输入 117
9.3 访问局部组件 118
9.4 访问其他对象 119
9.4.1 查找其他对象 119
9.4.2 修改对象组件 122
9.5 小结 122
9.6 问与答 123
9.7 测验 123
9.7.1 问题 123
9.7.2 答案 123
9.7.3 练习 124
第 10章 碰撞 125
10.1 刚体 125
10.2 碰撞 126
10.2.1 碰撞器 127
10.2.2 物理材质 129
10.3 触发器 130
10.4 光线投射 131
10.5 小结 133
10.6 问与答 133
10.7 测验 134
10.7.1 问题 134
10.7.2 答案 134
10.7.3 练习 134
第 11章 第 2款游戏:Chaos Ball 135
11.1 设计 135
11.1.1 理念 136
11.1.2 规则 136
11.1.3 需求 136
11.2 舞台 136
11.2.1 创建舞台 137
11.2.2 纹理化 138
11.2.3 超级弹性材质 139
11.2.4 完成舞台 140
11.3 游戏实体 140
11.3.1 玩家 140
11.3.2 混乱球 141
11.3.3 彩球 142
11.4 控制对象 143
11.4.1 球门 143
11.4.2 游戏控制器 145
11.5 改进游戏 147
11.6 小结 147
11.7 问与答 147
11.8 测验 148
11.8.1 问题 148
11.8.2 答案 148
11.8.3 练习 148
第 12章 预设 149
12.1 预设的基础知识 149
12.1.1 预设的术语 150
12.1.2 预设的结构 150
12.2 处理预设 151
12.2.1 向场景中添加预设实例 153
12.2.2 继承 154
12.2.3 中断预设 155
12.3 通过代码实例化预设 156
12.4 小结 156
12.5 问与答 156
12.6 测验 157
12.6.1 问题 157
12.6.2 答案 157
12.6.3 练习 157
第 13章 图形用户界面 159
13.1 GUI的基础知识 159
13.2 GUI控件 161
13.2.1 标签 162
13.2.2 方框 162
13.2.3 按钮 163
13.2.4 重复按钮 163
13.2.5 切换开关 164
13.2.6 工具栏 164
13.2.7 文本框 165
13.2.8 文本区 166
13.2.9 滑块 166
13.3 自定义 167
13.3.1 GUI样式 167
13.3.2 GUI皮肤 170
13.4 小结 172
13.5 问与答 172
13.6 测验 172
13.6.1 问题 172
13.6.2 答