成都unity3D培训:Unity3D,想说爱你不容易
Unity3D 用已经有很长一段时间了,从2.几版本一直用到现在的5.几版本。最近一个项目是用5.几版本的Unity来做的,这个项目开发的过程给人的感觉就是一句话,“满满都是坑”。
最近遇到了一个问题,当游戏发布到平台之后,一开始游戏的声音是正常的,当手机收到了系统的声音,比如来电话,或者来短信了,系统声音过后,游戏里面的声音就会突然没有了。我使用的版本是.3.5f1。

很多开发者发现了这个问题,然后上去投诉,一位细心的开发者发现:
no problem in 5.3.2p2.
Version up to 5.3.4p6, has problem occurs.
也就是说,这个问题是从5.3.4突然出现的。然后官方的技术支持得知了这个消息之后,说分别在5.3.5的某个补丁版本和5.4的某个补丁版本解决了这个问题。然后我尝试下载了5.3.5p8的补丁版本,问题解决了。

事实上自从Unity5出现之后,一直就没有出现过一个较为稳定的版本。我这个项目一开始是用Unity5.0开发的。一直到现在的5.3.5p8,中途出现了无数的系统级别的问题,比如某个版本使用UnloadUnusedAsset会导致崩溃,某个版本的图集和图片资源打包AssetBundle时重复打包,某版本的ugui在把旧ui拖到场景时编辑器会崩溃,某版本的ugui图集图片替换时由于设置的九宫范围和新图片的分辨率对不上编辑器会崩溃,某个版本出现接渠道SDK时对于Android 6.0由于权限的问题导致报错进不了游戏。这些问题都不是说我自己遇到而已,都是在官网上面被开发者发现,并由官方技术支持一一解决的。所以我就一次又一次的升级Unity的版本。

其实呢,任何一个软件的开发,有bug,修复,这是很正常的。关键的问题是,Unity的新版本,往往在修复了旧的bug之后,会出现一些原来没有的bug。这样来说,开发者是不敢很放心的去升级引擎版本的,谁知道升级之后,会不会是从一个坑里面爬出来,然后又掉到另外一个坑里面去呢?更不好的是,引擎版本的升级,往往会导致某些api的改变或者弃用,导致了原有的项目会出现很多问题。这种开发的模式,我总感觉不像正规的商业引擎,反而像是一些开源的项目。


Unity毕竟是一个付费的引擎,我觉得功能的多少反而是其次的,稳定才是最重要的。现在的Unity,每次新版本都会推出很多看似炫酷的新功能,但每每在用起来的时候,却一堆问题,导致了影响到基本运行的尴尬局面。以前在用2.几或者3.几的时候,功能真的很少,却没有这么多低级的问题。毕竟做项目是一件很严肃的事情,是需要较大的投资的,如果经常发现一些引擎的bug导致游戏出问题,投资者是不会理解开发者的难处的,只会定性为开发者水平有限。

当然了,我自己是水平挺有限的,所以才用Unity的引擎。如果自己真的这么有能力,自己开发引擎,就不会这样整天抱怨。但Unity3D作为一个收费的商业引擎,总不能做到像一些开源项目一样,每次新版本发布都是靠撞大运一样,先放出去,然后让游戏开发者们去做白老鼠吧?

到了今时今日,Unity3D算是一个比较有影响力的引擎了,有众多的使用者和支持者。我也是其中之一。我希望Unity是能长期稳定的发展的,这样我自己的饭碗也能较好的保住。希望Unity引擎的开发团队,不要辜负了支持者们的爱,不要急着推出新的功能,而是把旧问题修复一下,推出一个比较稳定的版本吧。
