本书以Unity 3D的跨平台基础Mono以及其游戏脚本语言C#为基础进行讲解。全面系统地剖析了Unity 3D的跨平台原理以及游戏脚本开发的特点。第1章主要介绍了Unity 3D引擎的历史以及编辑器的基本知识;第2章主要介绍了Mono,以及Unity 3D利用Mono实现跨平台的原理,并且分析了C#语言为何更加适合Unity 3D游戏开发;第3章到第10章主要介绍了Unity 3D游戏脚本语言C#在使用Unity 3D开发过程中的知识点,包括Unity 3D脚本的类型基础、数据结构、在Unity 3D脚本中使用泛型、使用委托和事件打造自己的消息系统、利用定制特性来拓展Unity 3D的编辑器、Unity 3D协程背后的秘密——迭代器以及可空类型和序列化在Unity 3D中使用的相关知识;第11章到第14章,则主要介绍了Unity 3D的资源管理以及优化和编译的内容。
本书以Unity 3D的跨平台基础Mono以及其游戏脚本语言C#为基础进行讲解。
推荐序
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 书于 深圳
Hero改为String