专题栏目:ARVRMR虚拟现实

《Unity脚本设计》

书籍简介:

本书详细阐述了与Unity脚本设计相关的基本解决方案,主要包括Unity中的C#语言,调试机制,单例模式、静态模式、GameObject以及场景世界,事件驱动程序设计,基于高级动画的Mecanim系统、相机、渲染和场景,与Mono协同工作,人工智能,与纹理、模型和2D元素协同工作,资源控制等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。

作者简介:

[美]Alan Thorn 著 刘君 译

出版时间:

2016年12月

章节目录:

第1章 Unity中的C#言……………………………………………………………………1
1.1 为何选择C#语言………………………………………………………………………… 1
1.2 创建脚本文件……………………………………………………………………………. 2
1.3 脚本的实例化操作……………………………………………………………………… 4
1.4 变量………………………………………………………………………………………… 6
1.5 条件语句………………………………………………………………………………….. 7
1.5.1 if语句……………………………………………………………………………… 8
1.5.2 switch语句……………………………………………………………………… 10
1.6 数组……………………………………………………………………………………….. 13
1.7 循环……………………………………………………………………………………….. 16
1.7.1 foreach循环…………………………………………………………………….. 16
1.7.2 for循环………………………………………………………………………….. 17
1.7.3 while循环………………………………………………………………………. 18
1.7.4 无限循环………………………………………………………………………… 20
1.8 函数……………………………………………………………………………………….. 20
1.9 事件……………………………………………………………………………………….. 23
1.10 类和面向对象程序设计…………………………………………………………….. 24
1.11 类和继承机制…………………………………………………………………………. 26
1.12 类和多态……………………………………………………………………………….. 28
1.13 C#属性………………………………………………………………………………….. 32
1.14 注释……………………………………………………………………………………… 34
1.15 变量的可见性…………………………………………………………………………. 37
1.16 ?操作符…………………………………………………………………………………. 38
1.17 SendMessage和BroadcastMessage………………………………………… 38
1.18 本章小结……………………………………………………………………………….. 40
第2章 调试机制……………………………………………………………………………… 41
2.1 编译错误和控制台…………………………………………………………………….. 41
2.2 利用Debug.Log进行调制——定制消息…………………………………………. 44
2.3 覆写ToString方法…………………………………………………………………….. 46
2.4 可视化调试……………………………………………………………………………… 50
2.5 错误日志…………………………………………………………………………………. 52
2.6 编辑器调试……………………………………………………………………………… 56
2.7 使用分析工具…………………………………………………………………………… 59
2.8 基于MonoDevelop的调试…………………………………………………………… 62
2.9 Watch窗口………………………………………………………………………………. 66
2.10 恢复执行程序和步进操作…………………………………………………………. 70
2.11 调用栈………………………………………………………………………………….. 71
2.12 Immediate窗口……………………………………………………………………….. 73
2.13 设置条件断点…………………………………………………………………………. 74
2.14 跟踪点………………………………………………………………………………….. 76
2.15 本章小结……………………………………………………………………………….. 78
第3章 单例模式、静态模式、GameObject 以及场景世界……………………… 79
3.1 GameObject对象………………………………………………………………………. 79
3.2 组件间的交互方式…………………………………………………………………….. 81
3.2.1 GetComponent函数…………………………………………………………… 82
3.2.2 获取多个组件………………………………………………………………….. 83
3.2.3 组件和消息…………………………………………………………………….. 84
3.3 GameObject和场景世界……………………………………………………………… 85
3.3.1 获取GameObject………………………………………………………………. 86
3.3.2 对象比较………………………………………………………………………… 88
3.3.3 获取最近对象………………………………………………………………….. 88
3.3.4 获取特定类型的对象………………………………………………………… 89
3.3.5 GameObject之间的路径…………………………………………………….. 90
3.3.6 访问对象的层次结构………………………………………………………… 92
3.4 场景、时间和更新操作………………………………………………………………. 93
3.4.1 规则1——帧的重要性………………………………………………………. 95
3.4.2 规则2——相对于时间的运动…………………………………………….. 95
3.5 永久对象…………………………………………………………………………………. 96
3.6 理解单例模式和静态模式…………………………………………………………… 98
3.7 本章小结……………………………………………………………………………….. 101
第4章 事件驱动程序设计……………………………………………………………… 102
4.1 事件……………………………………………………………………………………… 102
4.2 事件管理……………………………………………………………………………….. 106
4.2.1 基于接口的事件管理……………………………………………………….. 107
4.2.2 定义EventManager………………………………………………………….. 109
4.3 MonoDevelop中的代码折叠——#region和#endregion………………114
4.3.1 使用EventManager………………………………………………………….. 115
4.3.2 基于委托机制的替代方案…………………………………………………. 116
4.3.3 MonoBehaviour事件………………………………………………………… 121
4.3.4 鼠标事件………………………………………………………………………. 122
4.3.5 应用程序焦点和暂停……………………………………………………….. 125
4.4 本章小结……………………………………………………………………………….. 127
第5章 相机、渲染和场景……………………………………………………………. 128
5.1 相机Gizmo…………………………………………………………………………….. 128
5.2 可见性………………………………………………………………………………….. 131
5.2.1 检测对象的可见性………………………………………………………….. 132
5.2.2 关于对象可见性的其他问题……………………………………………… 133
5.2.3 视锥体测试——渲染器……………………………………………………. 134
5.2.4 视锥体测试——点………………………………………………………….. 135
5.2.5 视锥体测试——遮挡……………………………………………………….. 136
5.2.6 相机前、后视觉……………………………………………………………… 137
5.3 正交相机……………………………………………………………………………….. 138
5.4 相机渲染和后处理…………………………………………………………………… 142
5.5 相机震动……………………………………………………………………………….. 148
5.6 相机和动画……………………………………………………………………………. 150
5.7 相机和曲线……………………………………………………………………………. 152
5.8 本章小结……………………………………………………………………………….. 158
第6章 与Mono协同工作…………………………………………………………………. 159
6.1 表和集合……………………………………………………………………………….. 160
6.1.1 List类…………………………………………………………………………… 160
6.1.2 Dictionary类………………………………………………………………….. 163
6.1.3 Stack类………………………………………………………………………… 164
6.2 IEnumerable和IEnumerator接口………………………………………………… 166
6.3 字符串和正则表达式……………………………………………………………….. 172
6.3.1 null、空字符串和空格……………………………………………………… 172
6.3.2 字符串比较……………………………………………………………………. 173
6.3.3 字符串的格式化……………………………………………………………… 174
6.3.4 字符串循环……………………………………………………………………. 175
6.3.5 创建字符串……………………………………………………………………. 176
6.3.6 搜索字符串……………………………………………………………………. 176
6.3.7 正则表达式……………………………………………………………………. 176
6.4 无穷参数……………………………………………………………………………….. 178
6.5 语言集成查询…………………………………………………………………………. 178
6.6 Linq和正则表达式…………………………………………………………………… 181
6.7 与文本数据资源协同工作…………………………………………………………. 182
6.8 从本地文件中加载文本数据………………………………………………………. 184
6.8.1 从INI文件中加载文本数据………………………………………………. 185
6.8.2 从CVS文件中加载文本数据…………………………………………….. 187
6.8.3 从Web中加载文本数据…………………………………………………… 187
6.9 本章小结……………………………………………………………………………….. 188
第7章 人工智能…………………………………………………………………………… 189
7.1 游戏中的人工智能…………………………………………………………………… 189
7.2 开始项目……………………………………………………………………………….. 191
7.3 烘焙导航网格…………………………………………………………………………. 192
7.4 NPC主体对象………………………………………………………………………… 195
7.5 Mecanim中的有限状态机………………………………………………………….. 198
7.6 C#语言中的有限状态机……………………………………………………………. 202
7.7 构建Idle状态…………………………………………………………………………. 204
7.8 构建Patrol状态………………………………………………………………………. 207
7.9 构建Chase状态………………………………………………………………………. 211
7.10 构建Attack状态……………………………………………………………………. 213
7.11 构建Seek-Health(或逃跑)状态………………………………………………. 214
7.12 本章小结……………………………………………………………………………… 217
第8章 定制Unity编辑器…………………………………………………………….. 219
8.1 批量重命名……………………………………………………………………………. 219
8.2 C#属性和反射………………………………………………………………………… 224
8.3 颜色混合……………………………………………………………………………….. 227
8.4 显示属性……………………………………………………………………………….. 232
8.5 本地化………………………………………………………………………………….. 238
8.6 本章小结……………………………………………………………………………….. 246
第9章 与纹理、模型和2D元素协同工作……………………………………….. 247
9.1 天空盒………………………………………………………………………………….. 247
9.2 过程式网格……………………………………………………………………………. 252
9.3 UV动画——纹理滚动……………………………………………………………… 259
9.4 纹理绘制……………………………………………………………………………….. 261
9.4.1 创建纹理混合着色器……………………………………………………….. 262
9.4.2 创建纹理绘制脚本………………………………………………………….. 265
9.4.3 设置纹理绘制………………………………………………………………… 272
9.5 本章小结……………………………………………………………………………….. 275
第10章 资源控制和其他…………………………………………………………………… 276
10.1 Git——资源控制……………………………………………………………………. 276
10.1.1 下载…………………………………………………………………………… 277
10.1.2 构建Unity项目…………………………………………………………….. 278
10.1.3 基于源控制配置Unity……………………………………………………. 279
10.1.4 构建Git存储库…………………………………………………………….. 280
10.1.5 忽略文件…………………………………………………………………….. 281
10.1.6 创建首次提交………………………………………………………………. 282
10.1.7 修改文件…………………………………………………………………….. 284
10.1.8 从存储库中获取文件……………………………………………………… 285
10.1.9 浏览存储库………………………………………………………………….. 288
10.2 资源文件夹和外部文件…………………………………………………………… 289
10.3 AssetBundles和外部文件…………………………………………………………. 290
10.4 持久数据和游戏保存………………………………………………………………. 294
10.5 本章小结……………………………………………………………………………… 298

封面图:

发表评论

相关文章