第1章 Unity的基本介绍

1.1 功能特点

1.1.1 Unity简介

Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型的互动内容的多平台综合型开发工具,它是一个全面整合的专业游戏引擎。Unity是一款类似于Director、Blender Game Engine、Virtools或Torque Game Builder等以交互的图形化环境为首要开发方式的软件。Unity的编辑器运行在Windows和Mac OS X系统上,可将游戏发布至Windows、Mac、Wii、iPhone、WebGL、Windows phone 8和Android平台。

Unity 2018版于2018年5月2日正式上线,本书后文凡是没有特别指出,默认都是指Unity 2018版。

Unity官方网站地址为https://unity.com/和https://unity.cn/。

1.1.2 Unity的特点

1.基于Mono

Mono是一个由Xamarin公司(先前是Novell,最早为Ximian)所主持的自由开放源代码项目。与微软公司的.NET Framework不同,Mono项目不仅可以运行于Windows系统,还可以运行于Linux、FreeBSD、UNIX、OS X和Solaris系统,甚至可以运行于一些游戏平台,例如PlayStation 3、Wii或XBox 360。

简单地说,Mono是一个非微软提供的跨平台的开源.NET。

Unity是基于Mono的,也就是说,一些程序上的问题可以直接参看C#。从基本的数据结构、语句、方法、事件、代理等,到不常用的网络通信、数据库访问等方面,基本都和C#一样。

Unity 2018版之前还支持使用Boo、JavaScript来编写代码,到了2018版就只支持C#了。

2.跨平台

Unity可以在Windows和Mac平台进行编辑,然后可发布并运行于20多个平台。

这种跨平台的优点是,可以节省开发的时间和学习的成本。但是,它的缺点也挺多,生成的应用之性能会低于源生应用的性能。

不过,Unity 2018版比之前的版本增强了对多核CPU和GPU的支持,因而在性能上有很大的提升。

另外,Unity在写入文件时会受到限制。例如,截图以后想把图片移动到设备的相册目录,这个功能仅靠Unity自身无法实现,而必须依靠插件。

Unity 2018以后,对Web平台的支持有了很大的提高,Unity官方中文文档的网站就是用Unity开发的,比以前的网站好很多,但是和普通网站相比还是不够理想。

想用Unity开发一个从微信公众号打开的网页游戏目前还无法实现。如果要开发网页游戏,最好还是使用其他游戏引擎。

3.良好的生态系统

Unity有一个不错的商城,不仅有各种资源,还有各种模板、例子、插件。这意味着不少开发人员可以通过直接购买成品或者半成品来实现自己的产品。这既可以提高开发效率和速度,同时对学习Unity也有很大的帮助。

4.广泛的影响力

“凡是少的,就连他所有的,也要夺过来。凡是多的,还要给他,叫他多多益善。”马太效应就是这样的。Unity作为非常有影响力的一款引擎会引来更多的支持。比如近年热门起来的增强现实(Augmented Reality,AR)技术。很多增强现实的SDK提供方都提供了支持Unity引擎的插件,而提供支持虚幻(Unreal Engine,UE)引擎的插件明显就少很多,支持其他引擎的插件就更少了。

另外,广泛的影响力意味着有更多的学习资源、教程、实例,遇到问题以后,更容易搜索和查找到解决方法。

在Unite 2019大会上,Unity宣布已经成为继Google和Facebook之后的第三大网络广告商。