概说
我接触Unity3d应该是09年5、6月份开始的,当时上一个web项目做完,正在闲着,一个以前的学生,也是现在的朋友,问我做不做一个web3d的项目。他找我是因为来过我家,看我有不少3D的资料,还从我这拿过几本打算他自己看的。后来他没有时间看,觉得我可以做3D的项目,便再三鼓动我来做。
3D教学
我06年开始接触3D开发,从DirectX开始的,后来在游戏学院教过一轮课程。其实按照当时我的水平,本是不足以教授这门课程,我教3D也是事出有因,迫于无奈。
最开始我是在某个培训机构教授C语言,学生反映还不错,但是后来我觉得总教这些没有什么技术含量的课没意思,就不干了。后来这家机构又跟北京的那个游戏学院联合搞游戏培训。当地的培训机构认为北京师资比较贵,而学生生源也不是很好,学历以中专和高中未毕业的为主,还有三个专科的,其中计算机专业的只有两个,为了让学生有个好点的基础,让我先给串讲一下Java。讲完之后,学生的反映还蛮不错,因为对于Java和教学,这些都是我比较拿手的,自然问题不大。
后来北京的师资过来讲完一遍Java之后,学生都晕菜了,学生不满北京的师资,为了安抚学生,就又找我教其他课程。当时他们的Java和J2me已经学完了。我接下去讲C++和VC++,这两个对我问题都不大,再加上之前一直对游戏开发感兴趣,看过几本游戏开发的书籍,也写过几个小游戏,所以,就结合自己的体验和自制的小案例来讲的,效果也还不错。
原来说的是只讲到VC,因为3d编程我也不是很熟悉,但是培训机构负责人跟我软磨硬泡,说北京的师资的确暂时过不来,让我先顶一段,先给预热一下。我当时脸皮比较嫩,于是就开始了,每天晚上看书到一两点,第二天上午讲半天,下午练半天,很苦的日子,很是期盼北京那边过来人把我给解放了,但是左等右等北京总部的人也不过来。我跟培训机构的负责人辞了好几次,但是每次都被劝了回来。当时真是没主见啊。后来我才知道我的课时费是北京师资的1/4,怪不得。
当时3D课程都讲了一多半了,进行着已经比较费劲了,原因是多方面的。
1、3D编程学起来,的确难度比较大,需要编程基础比较好,尤其是数学要好一点,因为很多操作都是数学操作;
2、课程设置的原因,讲的是3D引擎的设计,这个应该放后,不应该学完VC就直接上来讲这个,应该先学一款引擎的使用,或者就讲引擎的使用,而不讲引擎的设计,毕竟实际工作时,大多是用现成的商业或者开源引擎来开发的;
3、师资问题,我本身不太熟,当时讲课时,都是按照教材走的,没有自己的示例,如果我现在讲的话,我肯定会淡化数学操作;
4、学生基础不是很好,学起来比较费劲。
后来这批学生后期学着比较费劲之后,跟机构负责人协商,当然在学生在提要求的过程中,并没有怎么说老师不行,因为在Java、C++、VC的时候,他们都大夸特夸老师比较强,后期拿这个不好说事了,于是就说明明是说北京师资,结果不是,还有合同中说免费重学等等之类的问题。协商的结果是,他们又去北京总部重学一遍。之前我在教3D的时候,心里一直有愧疚感,后来他们去了北京之后,我心里才比较踏实些,觉得这个结果对于大家都是好事,我也解脱了,学生也打了个基础。
前两年我在数码城遇到一个这期学生中的一个,当时他在我的另一个学生处打工,他跟我说,他们去北京又学了一遍之后,最后找工作的时候,还是一个也没有找到游戏开发的工作。他们虽然学过两遍,也没有找到游戏开发的工作,这个跟我关系应该就不太大了。
硕士论文
之后我自己一直有一搭没一搭的看3D的内容。后来的硕士论文也是用3D引擎开发这个题目,当时参考了相当多的书籍资料,多是英文电子书,pdf的最多,因为当时中文资料太少,而且即便有的话,也因为翻译的巨烂,根本读不下去,只好再找英文的看,后来这些英文的自己都打印了出来,大概不到3000页的样子。
项目开发
到这个学生找我做3D项目的时候,正好我没有其他事情,于是就一拍即合,答应了下来。接下来就是技术选型,当时在网上搜索相关的开发技术,web3D开发,在当时有几个选择:经过各种比较之后,我选择的是unity3d,于是就开始学习,当时unity3d基本上没有什么中文资料,学起来稍微慢一点,虽然都是英文的,但是因为之前自己看3D的时候,看过几本英文3D编程的书籍,所以,看完之后,虽然速度慢了一点,但是对英文也不是怎么怵劲。这个是我的经验,就是英文不是障碍,所谓的障碍只不过是心里障碍而已。因为英文技术书籍中,生僻的英文并不多,长难句也很少,关键就是一个心态,对英文的心理障碍克服了,就不再有什么问题。
第一个unity3d项目做完之后,对方比较满意,于是就有后来接二连三的其他项目,一直到现在。当时做项目期间,天天熬夜,到两三点是常事,这一段身体虽然没生病,但是也时常感觉有点累,觉得歇不过来。期间最难的部分是模型的动态切割问题,后来自己慢慢解决了这个技术难点。现在看是很简单的。很多的技术难点都是一层窗户纸,捅破之后就不再觉得有什么了。
出现身体状况
11年年底的时候,自己先在天津某培训机构临时教授Android游戏开发,后来觉得还是比较喜欢3D开发,想去北京闯荡一下,试试身手。然后微博发布了一下,有几个人联系了我,再后来在我去北京之前,想配一副眼镜,就去医院查了一下视力,结果悲剧了,发现是黄斑前膜,当时一下就蒙了。于是从那时开始,我就天天早睡早起,还好,这半年没有发展。现在想想应该是命运给自己的一个机会吧,其实不检查,自己肯定还是会跟以前一样,天天熬夜,这样下去的话,就可能不会是眼睛出现问题,而是身体跨了。
这半年自己调整之后,心理也有所改变。对健康和生命的看法也有了很多改变。我是一个技术派,在养生的时候也是,买了大量的中医药专业书籍,有些心得,但是时日太短,没法给自己看,但是以后会时不时的看些中医资料的。还有就是修炼气功,当然没成功,因为自己瞎看瞎练,出了点小偏差,但是气功的作用,我是体验到了一些,我还是以锻炼身体为主好了,呵呵,万事不强求。
写作计划
闲下来之后,还是对技术难以忘怀,所以,打算慢慢地写一个Unity3d开发系列,不求速度,一篇一篇地慢慢写,每天写一点,这样既保养了身体,又提升了技术,也算是一个小结,同时也希望能够给一些对Unity3d感兴趣的同学有些帮助。
在创作的过程中,可能需要参考一些国内外的网站资料,到时一般都会给出链接。
本系列文章,计划是案例为主线,贯穿知识点说明,应该会穿插一些图片,因为图片是最能说明问题的,但是可能我没有时间来大量作图。我从教十几年的经验和从事一些项目开发的经验说明,案例是最好的学习材料,我要写的肯定不会是一本字典。因为字典是用来参考的。
这一系列,也可能写不完,因为可能写着写着就没什么动力了。像之前的翻译一样,开始兴头很高,慢慢就不想翻译了。项目不一样,项目开发过程中,总有新的需求,总有各种各方面的压力,让自己不能退缩。而这种闲来无事的写作则不同,所以,我也不是抱很大希望的来写,有不小心看到的同学,也请抱着不大的希望来看,哈哈。
葛亚平