Unity3D脚本编程随笔1
学习Unity3D有大半年了,一直都在看视频课程跟着学习游戏开发,回过头来发现对于Unity本身却知之甚少,打算找一本书认真读一下,经前辈推荐选择了《Unity3D脚本编程》陈家栋版。这也是我的第一篇博客,还是本着仪式感能推动人坚持想法,希望自己能够坚持写一些东西,记录自己的学习路程。话不多说,开始正文吧
看书一定要看前言,这是我的一位高中老师讲过的一句话。无论是文学作品还是技术书籍,前言总是最能够让你判断自己对这本书是否有兴趣的部分,这也是为什么许多作者都会在前言这块狠下一番功夫的原因。
第一章、Hello Unity3D
在读这本书之前,不止一次想过一个问题,如此强大的游戏引擎究竟是如何完成的,觉得至少得是一个庞大的团队共同协作才能完成。这就要回到2002年5月21日下午的1点47分,(这时候我都已经会打酱油了),一位名叫Nicholas Francis的丹麦程序员在网上发布了一个寻找合作伙伴的帖子,希望能够协助他一起为他的游戏引擎开发一套Shader系统,也就是我们现在Unity3D中Shader模块的祖宗。有了这套系统,这款引擎才能自由实现各种各样的3D视觉效果。很快,一位名叫Joachim Ante的程序员就响应了这个帖子,两人就开始了你侬我侬的协作开发生涯。然而事情并没有这么简单,有一天,一位猛男从天而降,非但加入了这个团队,还当上了后来成立的Over the Edge Entertainment(OTEE)公司的CEO,这我是没想到的。可能是我思想上就没有成为CEO的基因吧QAQ。后来三个人有又经历一了段你侬我侬的协作开发生涯,终于,在2005年的6月6日,第一代Unity引擎在WWDC大会上问世了!(这才发现,Unity距离我们其实并不遥远)
在Unity问世之初,当时的游戏开发还不像现在那么简单,想要开发一款游戏必有要有雄厚的资金支持和技术团队,这就使得有很多独立游戏开发者在游戏制作的路上举步维艰。而Unity的出现就是为了打破这一现状,这一下子大量的独立游戏开发者举双手赞成。但是这毕竟是个新东西,光听厂家宣传也不行啊,你得拿出点实力来。所以三个人一合计,干脆咱先做个游戏打个样,顺便游戏上市还能补贴点家用。五个月后,基于Unity引擎的第一款游戏《GooBall》诞生了!但第一代Unity(1.0.0)仅支持Mac OS X平台,直到1.1版本才支持导出能够在Windows系统以及浏览器平台运行的项目。但还是不支持直接在Windows系统上运行引擎。当时许多人也是不看好这款引擎,觉得这玩意活不久。
然而时间来到2007年,Unity2.0来了,该说不说,这一步迈得都快劈叉了。2.0的船新版本有什么样的提升呢?首先,对已有功能进行了增强,这不罕见;但是新版本的Unity2.0对微软的DirectX添加的支持,这就导致了Unity制作好的游戏在Windows系统下的运行性能有了大幅度的提升。也就在这个时候,Unity出现了现在还在沿用到实时阴影、地形引擎、GUI等新玩意,但这不是重点,关键是Unity资源商店的出现可把这些独立开发者高兴坏了。这代表着你可以不用做一整套游戏就可以赚钱了!大大提升了Unity引擎开发者的生活水平。但是直到这个时候,Unity还不是我们现在使用的Unity,因为它还是不能再Windows系统山运行,而Unity开发团队(这时候已经不止那三个大佬了)也意识到了这一点的重要性。所以时间又来到了两年以后。。。
2009年,OTEE在游戏开发者大会上发布了能够在Windows系统上运行的Unity3D引擎,也就是Unity2.5版本。(划重点,上次发布的时候还只是在“Unity开发者大会”上,而这次已经是“游戏开发者大会”了,这说明Unity在当时已经是被广大游戏开发者认可了,地位直线上升)尝到了甜头之后,OTEE的开发者们更卖力了,短短一年左右的时间,Unity就上升到了3.0版本,加入了烘焙系统、延时渲染等新功能,这时候Unity已经有了超过20万的注册开发者,已然成为手机平台的龙头引擎。
2012年2月14日,Unity3.5版本添加量对Flash部署的支持,2012年11月13日,Unity4.0对开发者开放了下载,而且加入了动画系统和粒子系统。到此,基本上就跟我们现在常用的Unity引擎相差不多了。回过头来看,Unity的崛起也就10余年时间,从一个想法到成为游戏开发领域市场占有率最高的游戏引擎, 告诉我们事在人为。在这短短的一段文字后面是最初那三位开发者无数的尝试和失败。但什么困难都难不倒有梦想的人!
2020.09.28