前 言
Unity,也称Unity 3D,是近几年非常流行的一个3D游戏开发引擎,它的特点是跨平台能力强,支持PC、Mac、Linux、网页、iOS、Android等几乎所有的平台,移植便捷,3D图形性能出众,同时也支持2D功能,为众多游戏开发者所喜爱。在手机平台,Unity几乎成为3D、2D游戏开发的标准工具。
游戏开发是一项复杂的工作,本书在编写过程中十分注重与实际开发相结合,全书以实例为基础,使读者在较短的时间内能快速掌握Unity的各种工具和开发技巧,并应用于实践当中。
本书从内容结构上,可以分为几个部分,第1章是入门部分,从总体上对Unity编辑器的各个功能模块进行了介绍;第二部分通过4个实例,包括太空射击游戏、第一人称射击游戏、塔防游戏和一个2D捕鱼游戏,使读者对Unity游戏开发有一个较全面的认识,能有开发一般休闲游戏的能力;第三部分重点介绍了Unity在HTTP和TCP/IP网络通信方面的应用;第四部分专门介绍了如何将Unity游戏移植到网页、iOS和Android平台。另外,本书还附有C#的入门教程和Unity编辑器菜单的中英文对照介绍。
本书为第2版,下面是各章节的内容概要及与第一版的区别。
第1章介绍了Unity编辑器的各个功能模块,与第一版相比,合并了原来的第1章和第5章,修改了Shader部分的内容。
第2章是一个太空射击游戏教程,这是一个入门级的教程,从如何创建一个脚本,到一个完整的游戏有较为细致的介绍。与第一版相比,改进了一些细节,同时增加了内容,包括用鼠标控制飞机(适用于手机),创建精准的碰撞模型,自动创建Prefab和代码优化等内容。
第3章是一个第一人称射击游戏教程,涉及人工智能寻路、动画控制、摄像机控制等内容。与第一版相比,改进了UI和小地图部分的内容。
第4章是一个塔防游戏教程,介绍了创建更为复杂的关卡,导入由Excel创建的数据等。与第一版本相比,本章有很多全新的内容,如动画的使用,创建自定义的编辑器,使用NGUI创建UI界面等。
第5章是全新的一章,介绍了Unity在2D游戏方面的应用,包括创建Sprite,动画的播放和一个较为完整的2D捕鱼游戏实例。
第6章介绍了Unity在HTTP网络通信方面的应用,还涉及了PHP和MySQL的基础应用,使Unity游戏可以与Web服务器进行通信,上传得分记录等。与第一版相比,去掉了一些冗余的内容,使用JSON实现网络消息收发。
第7章是一个完整的、基于TCP/IP协议的聊天实例,在这一章中介绍了使用Unity创建聊天客户端,并使用.NET开发环境创建聊天服务器端。与第一版相比,本章的变化很大,增加了入门教程,优化了网络使用的步骤,方法更灵活也更富有技巧。
第8章介绍了如何将Unity游戏转为Unity 网页游戏和Flash游戏,重点介绍了面向不同网页平台的一些专门技术要点,如何编写Flash插件等。与第一版相比,增加了AssetBundle部分的内容。
第9章介绍了如何将Unity游戏移植到iOS平台,从如何申请iOS平台开发资格,到测试、发布iOS游戏都有详细的介绍,最后着重介绍了如何在Xcode开发环境中开发Unity插件,实现Game Center和内消费功能。
第10章介绍了如何将Unity游戏移植到Android平台,并详细介绍了几种为Unity开发Android插件的方法。与第一版相比,改进了插件制作流程,增加了使用脚本自动编译游戏的教程。
本书的读者主要是游戏开发程序员和Unity爱好者,同时也适合游戏策划和美工使用。
对于本书的完成,要特别感谢王金柱编辑给予的帮助和指导,感谢我的妻子在深夜帮助我校对书稿,还要感谢我的儿子给我莫大的精神支持。
金玺曾
2014年7月13日