第1章 入门 1
引言 1
1.1 创建一般应用程序项目 2
1.2 创建屏保应用程序项目 4
1.3 创建iOS触屏应用程序 5
1.4 理解应用程序的基本结构 6
1.5 响应鼠标输入 9
1.6 响应键盘输入 11
1.7 响应触屏输入 12
1.8 访问被拖放到应用程序窗口的文件 16
1.9 改变窗口大小后调整场景 17
1.10 在Windows中使用资源 19
1.11 在iOS和OSx上使用资源 21
1.12 使用资源集(assets) 23
第2章 为开发做准备 25
引言 25
2.1 用于调整参数设置的图形用户界面 25
2.2 保存和加载配置文件 30
2.3 为当前的参数状态制作快照 33
2.4 使用MayaCamUI 36
2.5 使用3D空间指南 37
2.6 同其他软件进行通信 41
2.7 准备iOS应用程序 47
第3章 使用图像处理技术 50
引言 50
3.1 调整图片对比度和亮度 50
3.2 整合OpenCV 53
3.3 边缘识别 56
3.4 人脸识别 59
3.5 图像特征识别 61
3.6 将图像转换为矢量图形 64
第4章 使用多媒体内容 71
引言 71
4.1 加载和显示视频 71
4.2 创建简单的视频控制器 74
4.3 将窗口内容保存为图像 78
4.4 将窗口动画保存为视频 80
4.5 将窗口内容保存为矢量图形图像 84
4.6 使用拼接渲染器保存高分辨率图像 88
4.7 在应用程序之间分享图像 91
第5章 创建粒子系统 95
引言 95
5.1 创建2D中的粒子系统 95
5.2 应用斥力和引力 103
5.3 模拟风中飞扬的粒子 105
5.4 模拟群集行为 106
5.5 让粒子对声音有反应 111
5.6 将粒子与处理过的图像对齐 115
5.7 将粒子与网格表面对齐 118
5.8 创建弹簧 122
第6章 粒子系统渲染和贴图 131
引言 131
6.1 为粒子贴图 131
6.2 为粒子添加尾迹 133
6.3 创建织物模拟 136
6.4 为织物模拟贴图 141
6.5 使用点精灵和着色器为粒子系统贴图 143
6.6 连接圆点 148
6.7 连接粒子和样条 151
第7章 使用2D图形 157
引言 157
7.1 绘制2D几何图元 157
7.2 使用鼠标绘制任意形状 160
7.3 实现涂鸦器算法 162
7.4 实现2D元球 164
7.5 为文本周围曲线创建动画效果 168
7.6 添加模糊效果 174
7.7 实现力导向图形 179
第8章 使用3D图形 185
引言 185
8.1 绘制3D几何图元 185
8.2 旋转、缩放和平移 189
8.3 使用离屏画布绘图 191
8.4 使用鼠标在3D中绘图 194
8.5 添加光线 197
8.6 3D拾取 201
8.7 创建图片的高度图 206
8.8 使用Perlin噪声创建地形 209
8.9 保存网格数据 213
第9章 添加动画 215
引言 215
9.1 使用时间线添加动画效果 215
9.2 使用时间线创建动画序列 217
9.3 沿路径添加动画 220
9.4 沿路径对齐摄像头运动 222
9.5 文本动画——文本作为影片的遮罩 226
9.6 为文本添加动画效果——滚动文本行 229
9.7 使用Perlin噪声创建流场 232
9.8 创建3D图像库 236
9.9 使用Perlin噪声创建球形流场 241
第10章 同用户交互 245
引言 245
10.1 创建能对鼠标做出响应的交互对象 245
10.2 为交互对象添加鼠标事件 251
10.3 创建滑块 257
10.4 创建响应式文本框 260
10.5 使用多点触控拖拽、缩放和旋转对象 265
第11章 检测与跟踪摄像头 273
引言 273
11.1 从摄像头捕捉 273
11.2 基于颜色跟踪物体 275
11.3 使用光流跟踪运动 279
11.4 对象跟踪 283
11.5 读取二维码 288
11.6 建立UI导航和Kinect手势识别 291
11.7 用Kinect增强现实 300
第12章 使用音频输入输出 307
引言 307
12.1 创建一个正弦波振荡器 307
12.2 用频率调制产生声音 310
12.3 添加延迟效果 313
12.4 生成物体碰撞声音 315
12.5 可视化的FFT 319
12.6 制作对声音有反应的粒子 322