前言 3
CONTENTS 6
本书的使用方法 12
序章 14
制作空间的乐趣 14
这样的环境就近在眼前 15
用Unity制作的游戏和游戏以外的内容 16
Unity的可能性 18
了解Unity的种类 20
必需的技术?(建模、编程、声音、图像) 22
会3D建模 22
编程不足为惧 24
能够制作声音 26
图形技术 27
安装Unity的环境 27
安装Unity的步骤 28
许可证的注册 32
第一章 开天辟地 34
创建新项目 34
关于界面 36
神的第1日:要有光 43
神的第2日:创造大地 44
创建山谷 48
设置Skybox 53
让物体动起来 57
神的第3日:植树种草 59
试着看一下(PLAY) 64
神的第4日:创建海(湖) 66
神的第5日:放置动物 67
神的第6日:你们要生养众多,遍布大地 70
发布到Web 76
第二章 思考方式与构造 78
你做了什么 78
“在世界中配置物品”的思考方式 80
添加组件 86
使其成为物理性的物体 88
“Hierarchy(层级)”的思考方式 93
Prefab的概念 97
什么是脚本 104
“创造世界”的概念(总结) 109
第三章 世界的构成 114
成为造物主 114
制作声音 117
二维图像的制作 117
那么什么是3D模型呢 118
那么,选择哪个工具呢 119
究竟什么是3D数据 122
复杂的大叔 123
什么是建模数据 124
建模方法 125
从基本的开始做起 128
设置材质 130
什么是UV贴图 132
使用SDS(细分曲面) 134
使用重新拓扑(Retopology) 138
低多边形 139
为Unity导入模型数据的步骤 143
读取图像 144
选择材质的着色器 147
什么是基于物理的着色(PBS) 148
Lighting设置 150
厉害的Reflection Probe 153
Standard Shader的基础 155
角色和骨骼 159
使用mixamo 161
自己制作Skybox Material 162
使用MARMOSET SKYSHOP 164
第四章 脚本基础知识 166
“编程”这个工作 166
了解主要的事件消息 169
写脚本的基本规则 170
使用Debug.Log 171
使用Invoke,延时调用 173
自定义函数、变量与类型 174
带值的函数(闰年) 179
用if语句实现分支 180
用return返回值 182
用for语句循环 184
数组的使用方法 185
用for each语句循环 187
更改材质(制作信号灯) 188
定义类 188
关于变量(var)的声明 190
从脚本中指定GameObject的方法 193
通过名称指定自己的子游戏对象 194
控制位置、方向和缩放(Transform类) 196
用Translate更改位置 198
利用Rotate旋转 202
用物理引擎操控 205
用AddForce施加作用力 206
用鼠标输入与实例化显示 209
碰撞事件 214
跟随相机(LookAt) 218
关于Tag 219
接受键盘事件 222
使用iTween 232
使用Raycast触碰 235
移动场景 238
使用Coroutine(协同程序) 242
即使移动也会残留的GameObject 244
PlayerPrefs保存数据 245
使用字符串 246
播放Audio 250
用switch case语句做分支结构 251
麻烦的程序,就用脚本来做吧 252
总结与GameManager 256
第五章 动画和角色 260
动画的种类 260
试着制作动画 263
在动画途中发生事件 272
Mecanim和多个动画 273
了解混合树 280
跑、走、空转 284
通过NavMesh在迷宫中进行移动 286
NavMesh:添加门 290
第六章 GUI与Audio 292
制作GUI 292
使用GUI用户界面层的方法(遗产) 292
按GUI.Button() 295
固定显示按钮宽度 296
GUI.Label与文字字体 296
Fade In.Fade Out(淡入、淡出) 298
与其他摄像机的影像重合 299
显示Map的手法 301
使用uGUI(Unity UI) 303
Screen Space-Overlay的情况 305
使用Anchor 309
锚点的预设 314
配置并使用按钮 316
使用滑动条 320
用ESC键控制Canvas显示/不显示 322
利用Audio Mixer控制 324
其他模式的GUI 328
GUI与Audio总结 330
第七章 输出 332
Unity的输出位置 332
切换平台 333
了解Player Settings 334
品质设置 337
进行Build 339
对应多平台的游戏设计 340
触摸画面时的不同 340
实现多个点击 343
使用平台依赖编译 346
手机应用程序的输出 348
准备iOS的开发 349
在Unity中进行iOS应用程序的写出 351
创建Android应用程序 354
下载Android SDK 354
创建Keystore文件 356
制作Android时的注意事项 357
向Play Store申请 358
其他输出 360
第八章 Unity的可能性 362
一窥Editor Script的内容 362
Oculus Rift的革命 365
用Leap Motion来感应手 369
使用Vuforia开发AR应用程序 370
用Arduino玩 380
第九章 使用“玩playMakerTM”插件 384
什么是玩(playMakerTM) 384
玩:尝试简单的分支 387
玩:通过iTween进行移动 390
玩:获取事件并进行动作 393
玩:动作种类一览 397
玩:变更组件信息 401
玩:通过变量进行条件分支 402
玩:从脚本进行通信 404
玩:向脚本通信 407
玩:使2种状态迁移动起来 408
玩:使用模板 409
玩:“用了还不如不用”和诀窍 410
第十章 优化和Professional版 412
Personal版和Professional版 412
玩转Image Effect 413
用Projector来投影 416
通过Level of Details使近处详细显示 417
通过Occlusion Culling仅显示可见部分 418
使用Light mapping来节约光的计算 420
使用Light Probe Group 423
通过Profiler来优化 426
MovieTexture和RenderTexture 428
用Professional版有什么好处 429
附录 432
一些方便的外部工具&推荐的Assets 432
SUBSTANCEPAINTER 432
SUBSTANCE DESIGNER 5 433
SUBSTANCE B2M 434
MarmosetToolbag2 434
其他推荐 435
介绍一些方便的Asset 436
iTween的easetype一览 438
INDEX 439
谢辞 446
日文原版书的资料支持网站 447