推荐序
Unity 3D是由两个具有巨大吸引力而极其令人愉悦的领域混合而成的——C#语言和游戏开发。Unity团队设计Unity 3D将这两者有机地结合起来。
对于C#语言的喜爱要回溯至 2000年,当时微软向世界推出了新的语言C#,不仅震惊了Windows领域,它同时也震惊了开源世界。GNOME项目的领导者Meguel de Icaza就看到了C#语言在桌面开发的前景,着手创建了开源的.NET跨平台实现Mono,如今Mono已经用于从嵌入式系统到服务器、工业控制、移动开发和游戏的所有方面。.NET语言不仅确保了我们不再受限于某一种当下的语言,而且确保了我们可以继续重用之前使用C和C++编写的现有代码,C#使我们和我们所处的世界更加高效。随着微软成立.NET基金会,大力发展开源跨平台的.NET,同时Unity公司也是.NET基金会成员,我们有理由相信使用C#的Unity 3D平台也会发展得更好。
正如Unity Technologies的CEO David Helgason先生所说:“Unity是一个用来构建游戏的工具箱,它整合了图像、音频、物理引擎、人机交互以及网络等技术。”Unity 3D因为它的快速开发以及跨平台能力而为人所知。Unity 3D的快速开发和跨平台能力正是来自于它对Mono平台和C#语言的依赖,使用C/C++来编写高性能要求的引擎代码,针对开发人员采用高级的C#、UnityScript、Boo语言作为游戏开发的脚本。
本书作者陈嘉栋带着激情投身于Unity游戏开发,他在Unity社区也非常活跃,他也通过博客写了大量和Unity 3D相关的文章,如今他将这些在社区上的贡献汇集成这样一个涉及Unity 3D跨平台原理分析、Unity 3D和Mono的结合,以及在游戏脚本编程中使用C#语言的作品。希望无论是初次接触Unity 3D脚本编程的新人,还是有一定经验的老手都能对Unity 3D了解得更全面深刻,对C#语言在开发游戏脚本过程中的知识点掌握得更牢固,写出更高效的代码。
使用C#和Unity 3D构建游戏是一件极佳的事情。你能够使用一种强类型的、类型安全的、垃圾回收的、具有最热门API的语言来开发游戏,下面开始学习陈嘉栋创作的这本佳作吧!
微软MVP 张善友
2016.7.13书于深圳