前言 2005 年6 月6 日,在WWDC 大会上,Unity 3D 的个版本正式推出。当时的Unity 3D还只能在Mac OS X 平台上运行,经过10 年的发展,到如今Unity 3D 已经迎来了5.0 的时代。Unity 3D 在这十年间继承并发扬了其一贯的优势,即拥有强大的编辑器,以及便利的跨平台能力和适合移动平台的3D 开发能力。正是基于这些优势,Unity 3D 无疑为开发者节省了大量的时间和精力,使得整个开发流程变得更加高效而且便捷。而它本身也早已成为了全功能游戏引擎市场不可忽视的一股力量。
正如Unity Technologies 的CEO——David Helgason 先生所说:“Unity 是一个用来构建游戏的工具箱,它整合了图像、音频、物理引擎、人机交互以及网络等技术。”的确如此,Unity 3D 因为它的快速开发以及跨平台能力而为人所知。
其中Unity 3D 编辑器的构建和拓展,以及引擎本身强大的跨平台能力,都多多少少借助了Mono 以及C#语言来实现,而C#语言更是Unity 3D 引擎主要的游戏脚本语言,而采用脚本语言开发游戏逻辑无疑大大提高了使用Unity 3D 进行开发的效率。
但目前国内并没有太多涉及Unity 3D 跨平台原理分析、Unity 3D 和Mono 的结合,以及在游戏脚本编程中使用C#语言的资料。作者身边的很多朋友和网上认识的很多同行,由于没有一份系统剖析Unity 3D 脚本编程的资料,而对这部分的内容没有形成一个全面的了解。
因此,本书的目标便是将Unity 3D 和Mono 的关系,以及使用C#语言开发Unity 3D 的游戏脚本的内容进行系统化地整理分析,本书不仅会分析C#语言在Unity 3D 脚本编程中的知识点(例如使用定制特性来拓展Unity 3D 编辑器、使用委托事件机制打造自己的消息系统,以及Unity 3D 中协程的实现细节等),还会带领各位读者走进更加底层的CIL 代码层,了解Unity 3D 借助Mono 跨平台的原理,后还会关注Unity 3D 引擎本身的资源管理、项目优化以及编译的内容。通过介绍有代表性的两大移动平台——Android 平台和iOS 平台,通过介绍两个平台上的项目编译进而使广大读者了解JIT 编译方式以及AOT 编译方式。希望能通过这些内容使国内的广大Unity 3D 从业人员对Unity 3D 了解得更全面深刻,对C#语言在开发游戏脚本过程中的知识点掌握得更牢固,写出更高效的代码。
作者简介 ,毕业于大连海事大学,目前任光宇在线客户端高级开发工程师。博客园推荐博客作者,微软2015年度Visual Studio and Development Technologies有价值专家(Most Valuable Professional)。认为编程首先是爱好,其次才是职业。专注前沿技术,热爱开源。深信代码改变世界。
以下为对购买帮助不大的评价