我的Unity之旅

来源:互联网 发布:功能点估算法 编辑:程序博客网 时间:2024/05/17 05:56

本系列文章由 Amazonzx 编写,欢迎转载,转载请注明出处。

http://blog.csdn.net/amazonzx/article/details/8662942


好久没有写blog了,为什么?因为这半年我加入了Unity。

 

Unity?是的,它是一个公司,不是Ubuntu的Unity,而是一个引擎公司,它创造了一个叫做Unity3D的游戏引擎。

 

至于为什么加入,这恐怕要从去年一月份开始说起了。

 

当时的我还在盛大,正值公司向轻量化进行转型,所以本来还在为公司自主研发3D游戏引擎的我开始使用了Unity,研究如何使用它在移动设备上进行大型3D游戏的研发。就这样,我开始接触到了Unity。

 

在一开始使用时,其实还是蛮不适应的。因为每天不需要再埋着头、敲着一行一行的C++代码,也不会再有坐在那里一动不动、调Bug调上几个小时,更不会出现即使使用N个核来编译代码,也要编译好几分钟才出结果的情况,取而代之的,反倒是在编辑器界面上拖拖拽拽,最多也就是写一写C#脚本,点一个“Run”就可以运行,甚至于还可以边运行边编辑,一边玩一边改。我突然觉得我不像个程序猿,反倒更像是个TA了,这点让我有点不爽,相信很多程序猿一开始都有这种感觉。不过另一方面,我心里也不得不说,WOW!Amazing!如果我自己没有参与过引擎的研发,我可能永远也不会明白想把一个引擎开发到如此程度是一个多么困难的事情,简单友好的操作界面、多平台发布、各种很棒的工具以及系统集成、脚本的自身编译等等,坦白说,很多功能甚至都是我想都不敢想的。如果我没有做过五年的Graphics学术研究,我可能永远不会明白,一个简单优化的操作界面对于3D图形工具来说是多么的重要。我记得曾经向一位图形学界的大牛问过这样一个问题,“图像学研究的意义是在哪里?”。我本以为他会说 “让真实感渲染变得更加逼真、高效”等诸如此类的话,但他的回答却是“让人们可以像使用Photoshop一样使用3D图形工具,图形学的研究应该注重在如何降低3D的门槛,让更多的人参与进来”。不得不说,在使用Unity的过程中,让我越来越明白了这话的意义。

 

在使用了Unity一个月后,发现Unity的强大并不仅仅在于表面。其本身对于脚本的code提供了各种各样的API,让我可以很方便地扩展游戏功能,甚至于还可以在编辑器中二次开发,写出各种适合自身项目以及方便美术、策划的插件。那一时间段的我对Unity可以说是很着迷,白天在公司做游戏,晚上回来就上网浏览各种各样的Unity教程、英文书、网站论坛等等。所以在接下来的几个月中,白天忙公司的,晚上在家忙自己的小游戏,后来打个包发到了Unity圣典论坛上,自此还结实了该论坛的创始人“hawk”。在此,不得不提一下Unity圣典这个论坛,让我非常感动的就是它的奉献精神,几乎将当时Unity所有的manual document都翻译了一遍。我很喜欢这样的分享精神,所以也就跟“hawk”一起翻译起来,几个月下来,基本上翻译了二十多篇,虽然占用了不少时间,但自我感觉还是很有意义的,毕竟在国内还有相当一部分开发者,其英语的阅读能力还不过关,希望能够通过我们的翻译,来让他们更好地了解Unity这个工具。在翻译的同时,我也不知不觉地就当上圣典论坛的版主,那段时间每天晚上,我都会花上不少时间来解答和讨论论坛里面的各种问题,后来论坛里逐渐吸引来更多的有激情的Unity开发者(hog、江南、小妖等等),论坛的帖子在hawk的各种推动下与日俱增,从200,到400,再到700,最后居然蹦到过1000,呵呵,虽然现在帖子数量出现了不小的回落,但我还是认为圣典论坛依然是目前国内最火的Unity技术论坛,没有之一(在此,我要对hawk道个歉,因为十月份加入Unity后,工作实在太忙,以至于关注和搭理论坛的时间越来越少,很是抱歉!)。

 

接下来,随着使用的逐步加深,也越来越发现Unity还是有一些不尽人意的地方,自身的GUI系统、地形系统、本身的内存管理和版本管理等等。不过其实没有过不去的坎,就看你是不是“练到家”了。所以在接下来的几个月,研究了在Unity基础上如何做优化、如何有效地管理内存等等。之前网上一直在热议Unity的好坏,其实Unity只不过是一个制作游戏的工具而已,游戏做的不好怨工具,那是否程序猿写不好代码要赖C++、C、Java等语言呢?游戏做得最后,跟武功练到上乘一样,最后比拼的其实都是自身的内力。

 

再后来,就到了十月份,在Tec的推荐下,我有幸加入到了Unity。Unity China是一个很棒的团队,每个人都很strong和nice。团队很小,但能量很大。团队中每个人每天的工作量都很大,以至于这几个月下来由于经常不按时吃饭,把自己的胃搞坏了,让我二十多年来头一次在大年三十由于胃疼在床上躺了一天....(悲剧!)

 

接下来就是在Unity忙碌而充实的工作了。在Tec的带领下,我主要在技术团队中参与了以下三项工作。一是将Unity web player预装到360浏览器上,从而让大量的玩家可以在360浏览器上免安装插件,直接玩Unity的web game;二是完成了Unity web player在ChinaCache上部署,从而让国内的玩家可以不用大老远地从国外的服务器上下载和更新插件,进而提升插件的更新效率,现在每天都有大量的用户通过ChinaCache来更新插件,自己看着很是欣慰;三是解答来自国内开发者的各种Unity相关问题,这个我还是蛮擅长的,可以说,之前的游戏开发经验、文档翻译以及圣典论坛的帮忙,让我对于Unity已经有了很深入的了解。同时,我也喜欢研究一些有意思的问题,并将自己积累的经验分享出去,以期能够帮到更多的开发者。国内技术方面的交流和分享一直以来都很闭塞、很匮乏,我在读书时就深有感触,所以一直希望能够做点什么来改变它,现在终于有了这样一个机会,呵呵。

 

我个人很喜欢Unity的理念:让人人都能做出自己心中的游戏。虽然就目前来看,这个目标还是相当的高,但它已经体现出了“以人为本”的概念。在我看来,一个引擎优秀与否不应该仅仅看它的功能是否强大,更应该看它是否可以让开发者更快地上手、更高效地完成他们的游戏。想客户所想、解决客户所需,这才是一个先进工具应该有的姿态。无论是技术讲座、还是通过邮件的技术支持,我们都希望可以真真切切地帮到国内的游戏开发者。我的理念是,希望通过不断的努力,可以让中国的游戏界变得稍稍有那么一点不一样!