海归大四美女一枚的在团谱U3D实习报告-新闻详情

海归大四美女一枚的在团谱U3D实习报告

美国俄亥俄州立大学 韦雨萌


发布时间:2017-07-28责任编辑:朱明 浏览:1583


 

       时光荏苒,我为期两个月的实习马上就要结束了。 这两个月,让我从一个懵懂的学生,成为了半个社会人。这两个月,让我对程序员这一个行业有了更深刻的认识。

       人生的第一次总是伴随着兴奋于不安。当我怀着这样的心情背着电脑走在去公司的路上的时候,脑子里想的都是如何能让老板对我刮目相看,如何跟同事相处融洽。但理想总是丰满,限时往往骨感,我的第一天就在忘记带简历,不会填入职表格,没有准备入职材料的窘迫境地下结束了。但也就是在这第一天,我结识了声音洪亮却待人亲切的老板,认识了人与名字不相符的我的老师晓萌,认识了秦贺,认识了长库,朱姐,与我对视时会腼腆的跟我打招呼的小姐姐,在我第一天站在门口不知所措的时候向我指路的前台姐姐,和许许多多我还没有机会深交的同事们。是他们让我在以后每一天的实习都过的充实又快乐。

       我是一个特别喜欢学习我感兴趣事物的人。Unity 3D这个软件我在高二的时候因为个人兴趣摆弄过一段时间,却因为忙于各种考试而搁置了下来。再一次真正系统的研究和学习他的时候,才发现里面的学问短短的两个月并不足够我把它研究透彻。从创建第一个物体,到现在可以让物体活跃在手机和电脑上,这段时间学习的知识让我对游戏制作有了一些新的理解。

       刚开始的时候学习的东西很多也很快。因为所有的都是新的,浅显的知识,从C#语言到Unity软件的运用,很快便能掌握。但随着了解的知识慢慢的深入,我越来越感觉到吃力。学习的进度变慢了,程序的bug变多了,有时甚至一天都没有进展,就为了修改出错的代码。这让我一度很沮丧。但当错误被修复了,我写出的游戏变得越来越完善,越来越像样,这种成就感一直是我在这个专业前进的动力。终于,在跟着教程学习了三个游戏之后,我花了两个星期的时间自主编写了一个简易的塔防游戏。虽然碍于模型和场景的构造这个游戏没有进行下去,但是从这个游戏中我才真正意识到了做游戏的苦,在自己的代码里寻找错误的难,和游戏成功打包后的欣喜。

       我的第一个游戏是我在上班的第一天跟着视频做出来的。我跟着教程把代码一个字一个字的敲进去,反复推敲C#语言与我原来学过的语言的区别和相似,也默默记着Unity软件每个重要组件的位置与运用。这个游戏对于现在的我而言可能没有难度,可对于两个月前的我,难如登天。在这个阶段,晓萌的帮助和指导成了我前进最大的帮助。最后我做成了一个小球在桌面上碰到方块,方块会消失,分数会增加这一简易的类似贪吃蛇的游戏。也是我前进路上铺下第一块石头。

       我的第二个游戏是一个类似于简易雷电2一样的游戏,同样是跟视频做出来的,这实际上才算是我的第一个正统的游戏制作。跟上次的第一个游戏一样,我跟着视频把代码一个个敲了出来。不同的是,由于视频资源的缺失,后面的一部分游戏并没有推出教程。经过跟晓萌的商量与探讨,我决定通过之前的游戏demo自主完成这最后一部分。虽然经历了一些困难,完成度也没有原版这么好,但我也算是第一次自主的编写了一部分程序。

       第三个游戏是一个3D的枪战游戏。这次的难度较前两个要大很多,不仅要自己搭建场景,更重要的是增加了很多我原来没有接触过的元素,包括自主寻路功能,声音的搭建,人物与动画的添加等等。这一个游戏也是我进步最大的一个游戏,让我从一个十足的菜鸟变成了一只脚踏进Unity大门的新人。除了根据视频的代码做出一些我自己书写方式的修改,我还对这个游戏的内容进行了进一步的添加,包括暂停,重新制作武器,重新开始,失败与成功判定等等一些小细节。这个游戏的结束,也让我增加了对自己只做游戏的信心。

       第四个游戏是我第一次自主的创作游戏。这是一个塔防游戏,从游戏的模型选取到环境布置到代码编写,都是我一个人完成的。晓萌在这个游戏中给我指导了很多,让我少走了很多弯路。这个游戏让我主要掌握了鼠标射线Raycast,寻路系统,物体创建,对一系列我通过前三个游戏总结与学习的知识有了进一步的掌握。虽然完成度不高,但也算是我的处女作了。我很珍惜这个半成品的游戏。如果我有机会,一定会继续好好的完善它。

       当我准备做我的第五个游戏:扫雷的时候,山大的实习机会让我改变了我的计划。山大的这次项目的实习可以说是对我帮助巨大。不仅是编写能力有了进一步提升,更重要的是有了团队制作的感觉。虽然前期在分工和制作方面出了一些摩擦,但后期真正意识到了团队的重要性。每个人都可以在遇到困难的时候向团队寻求帮助,也能够尽自己的能力帮助遇到困难的人。一个拥有良好团队协作能力的队友要比一个沉默寡言的编程天才要可贵的多。我负责的板块是背包制作,商店制作,装备穿戴和装备强化。这一次,我有接触到了一些我原来从来没有接触过的东西:grid 背包格子制作和excel表格的读取。从一开始一天毫无进展,到后来一天做完所有的代码,中间学习的阶段让我受益匪浅。

       我将我这两个月来的心得整理成了阶段性的实习日程,希望能够对公司有所帮助。学习效果因人而异,因为主要是通过教程和自主学习的方式,没有教条性的目标。只希望每个人都能够抱着一颗求知的态度来对待这实习日程。

       下面是我整理的实习计划L

 

最前面要说的话:所有的资源可以从https://www.assetstore.unity3d.com/en/ 这个Unity官方网站里面获取,输入想要的名字即可。

第一个视频名称:Roll a ball

第二个视频名称:Survival Shooter     /     Space Shooter

 

 

 

 

                                                                               程序实习

 

 

 

 

 

 

第一阶段:

 

 

 

 

了解与认知

对于没有C#基础的人:学习基础的语言知识,上网找基础的C#教程,了解C#的基本结构即可。

对于有CC++Java等基础:稍微了解一下C#语言的结构和书写方式即可。

对于有C#基础:了解一下Unity里面的脚本书写习惯。

----------------------------------

我们假设程序实习的人都是没有接触过Unity的人。我认为学习的最好方式就是实践。所有理论上的知识都是假大空,只有实际操作了才能够对Unity有深刻的认识。

首先我认为我所学习的第一个教程是一个非常好的教学视频,能够了解和初步的编写Unity的主要组件和脚本并加以结合。

教程是Unity官方教程的第一个。我使用的是英文原版,我在B站找到了资源,网址如下:

http://www.bilibili.com/video/av2797285/

 

如果觉得全英文的教程听起来略感吃力,我也找到了中文版的图文解析:

http://www.jianshu.com/p/6e4b0435e30e

 

希望能够不要只是想做任务一样完成这一教程,最重要的是能够通过这个教程学到unity最基本的操作和脚本最基本的书写。

 

这一教程学完后主要能够初步了解:

-创建物体,搭造基本框架

RigidBody(最常用的unity组件之一)

Collider 碰撞体(最常用的unity组件之一)

C#Unity脚本的写作方式

etc.

 

Ps:最能够直观了解脚本的方法就是查阅相关语法资料。F12快捷键可以快速查看相关操作,如果需要更详细和深入的了解,打开Unity,在每一个组件的左上角有一个带 的书样子的按钮,点击就可以查找相关。

注:资料分为组件和脚本,注意选取自己需要查找的东西是什么。

----------------------------------

做完这第一个视频教程会对Unity这个东西有了一些了解,让他不再是虚幻。但这才是九牛一毛,因为这点东西还不足以支撑一个人独立完成游戏的制作。需要对这个程序更多的了解才可以开始自主编写。

 

 

 

 

 

 

 

 

第二阶段:

 

 

 

 

 

 

 

 

学习与提高

C#:了解一下一些基本的语法:getset list的运用等。

在做游戏的过程中会发现总有这么一些变量想要调用却调用不到,这时候有一个完美的模版需要学习:Singleton单例模式。

看起来很复杂但其实就是洒洒水的东西。一定要搞懂以后有大用处。如果你不能够弄懂单例模式,那就好好再看看Static的用法吧!

----------------------------------

经过我的筛选,我觉得3D的噩梦射手是Unity官方教程里面讲的功能最全,相对来说比较复杂,却不是特别复杂的一个教程。在做完了第一个教程以后,可以考虑这个。

 

中文版教程是:

http://www.bilibili.com/video/av3924410/#page=19

但我个人不推荐这个人的教程,说话啰里八嗦而且一堆废话。 如果有能力还是推荐英文原版:

https://unity3d.com/cn/learn/tutorials/projects/survival-shooter-tutorial

这个资源我没有在国内的网站找到,只能挂VPN看,实在不行就还是听那个啰嗦的中文版吧……

 

这一教程学完后主要能够深入了解:

-自动寻路系统

-物体的创建

-灯光与相机

-人物移动的另一种方式

-射线的运用

-动画的添加

-音乐的制作

etc.

 

----------------------------------

人生总是有第二种选择:

 

如果你觉得你的能力实在是无法hold住上一个视频这么多的知识,退而求其次,还是可以有一个简单的备选。

我所学习的第二个视频,space shooter。我不把它定做必选的原因是因为他80%的知识点上面的视频都已经囊括在内,但上面的视频又有很多很需要联系的新知识。 如果做完了这个教程感觉自己的能力达到了,还是推荐制作一下上一个教程。

 

中文版教程视频:

https://www.bilibili.com/video/av7743981/

这一版的教程视频我没有看过,我看过的那一版找不到了所以质量无法保证

 

以及图文解析:

http://www.jianshu.com/p/8cc3a2109d3b

 

这个不推荐英文版,因为说话的人有一股阿三味儿,对于母语不是英语的人来说就是晴天霹雳……具体用哪一个就看个人喜好了。

第三阶段:

 

 

 

 

 

 

探索与反思

经过123个星期的视频学习,如果真的在认真的学习的话,相信对这个软件和unity程序的编程已经有了一定的理解。下面就是自己学习写小游戏的时候了: 个人推荐比较简单的游戏:

 

如果逻辑性比较强一点: 消消乐,扫雷,资源如下:

 

消消乐:

http://www.manew.com/thread-105071-1-1.html

扫雷:

http://www.manew.com/thread-102420-1-1.html

塔防:

http://www.manew.com/thread-102421-1-1.html

贪吃蛇:

http://www.manew.com/thread-101572-1-1.html

魔塔(比较复杂):

http://www.manew.com/thread-97286-1-1.html

 

做一个能够自己独立编写的游戏!

第四阶段:

 

磨合与成长

 

 

如果能够独立完成一个游戏,说明已经具备了能够跟随团队做项目的能力。但是,能够通过团队配合做出一个游戏,需要的不仅仅是编写能力,更重要的是团队协作能力。

如果可以,一定要跟随一个团队做项目,从中学习到的东西一定是在自己学习代码的过程中学习不到的。

 

        这是我来到这里实习的所有收获,感谢老板对我的信任和栽培,感谢晓萌,秦贺,长库和许许多多同事对我的帮助和照顾,也希望团谱能够越走越远,游戏大卖!