对想进入Unity开发新人的一些建议

    提前声明:本文只是写给那些非职业游戏开发人士,只面向那些在校本科生,或已就业但无unity背景的同学们,当然是面对程序员方向的.本人刚工作也没多久,资历尚浅,之前在网上有一位同学让我谈谈一些想法,所以就有了下面这篇文章.

    Unity可以说真几年是火了起来,这一两年的手游和页游平台上Unity作品数量激增.而Unity官方也是不断的推出新版本增加新功能,完善老功能.很可惜我没有赶上最早一批接触Unity的那波人.闲话就不多说了.

关于Unity的学习下面只是我的个人见解,因人而异.

    首先心态要对,学习Unity的目标是什么,切不可认为这是会使用它就可以了,使用它很简单,就像你在书店里随便买一本Word入门书一样.但是如果你是打算进入游戏行业的话,一定要想好,仅仅会使用最基本的操作连入门都算不上。当然,凡事都有个开始,如果你一点都没有使用过Unity的话,可以去当当搜unity然后随便买一本这种书,不用挑,那里的书基本都是些教你最简单的使用unity的东西。但是我还是很愿意推荐一本我觉得很适合入门的书籍《Unity 3.X 游戏开发经典教程》,

貌似是唯一一本国内现在翻译的过外Unity书籍.这本书以一个贯穿全书的实例来讲解Unity的一些基本知识.不是很全面但是入门足以,现在最新的Unity版本已经是4.3了和书上的多少有一些出入。

    其次,很多人,特别是学生吧应该会很困扰,总是觉得书是看完了,但是也就只是看完了而已.还是不知道怎么去做游戏,只是能把书上的游戏例子照着弄出来。这个问题说简单也简单,说困难也困难,如果你是科班出身,平时在学校的时候没事喜欢自己敲敲代码鼓捣鼓捣什么东西.那你应该不会太难自己也做做游戏.不过也要知道实际的游戏.那其他人呢,第一,你要能耐下心来去分析你从书上看到的东西,看到代码背后作者在设计这款游戏的时候是怎么想的,去寻找一些设计游戏通用的逻辑,这个过程很重要,对于程序员来说从现有知识来不断的总结归纳是非常有益的,第二,不必急着去设计出一款自己的游戏,要知道在游戏公司设计一款游戏的时候要有很多人参与很多不同的人负责不同的部分,你可以只从模仿书上的例子开始,你可以在里面融入自己的一些创新的地方,比如加入一些新道具,新敌人之类的,在加入这些新元素的过程中你就会渐渐体会到这个游戏的一些设计逻辑.以后你自己设计游戏的时候也可以借鉴.其实作为程序员,不管你学生么方向,你都要去勤动手,很明显在大学里也许你的学习成绩不够优秀,但是如果你4年里真的自己研究过什么东西,有过几十万行的代码量,我相信到找工作的时候你可以很明显的看到差距.套用古人的那句话"纸上得来终觉浅,绝知此事要躬行!".

    如果你想在这个行业比别人做的更好,更出色,那你就一定要肯吃苦,对于那些依然还在学习里的同学们,选择程序员这条路就意味着,只要你干一天你就要学一天,除非你想淘汰出局,我觉得这不是什么困扰,而应该是高兴,因为这真的是一个充满生机,挑战和让你人生充满意义的方向.掌握任何一门技术都有相同的阶段,一开始入门都觉得很简单,但是从新人变成高手的阶段,从高手变为专家是一个阶段,绝大多数人都在两个阶段一开始就出局了,因为总是有人会说"xxx太难学了,浪费时间".知识就是这样,世界上没没有学不会的知识,只有不肯努力的人,你对知识感觉的难易,很大程度上是你的主观意识.只有你坚持不断的去接触他,去了解他.一次次跌倒一次次又站起来,你才能真正的驾驭它.借用丘吉尔的话"Never Never Never Give Up!"

   Unity入门之后会很迷茫,其实学习任何游戏引擎都是一样,你能使用它去简单做一些你想要的东西,做多也就是用的非常的熟练,这也许是从事游戏客户端开发方向的日后技术层次的分水岭,一些人会一直就是这样不断的去熟悉他们已经知道的东西,最后也只能是非常非常熟悉,当然了我想从事程序员职业的人,一般在技术上都会有一些追求,不止如此.那Unity入门之后应该去如何学习呢:

    其实我自己觉得自己现在也正处在这个阶段甚至还没达到,入门之后你要去了解这个引擎本身一些比重要的知识点,然后多多去钻研学习.对于Unity来说的话,资源管理,物理系统,Shader等等...要知道这些知识并不限于Unity引擎,几乎所有的引擎都会用自己的方式方式去处理这些问题.

    如果你想日后在这个行业里真的成为高手,那就真的需要去下一番苦心,第一点不管你大学里数学学得好不好,你挂了多少门,一定要学好3D数学,这是制作3D游戏的基础,当然Unity为你封装好了大量的三维变换,但知其然,更要知其所以然,我知道如果你的数学不是很好,这会很痛苦,但请坚信,这真的很重要,我的数学也很不好,推荐一本入门的书《3D数学基础:图形与游戏开发》,很惭愧我至今也没都看完.第二点就是图形渲染方面的,你要去了解计算机整个将3D物体渲染到2D屏幕的流程,我很后悔大学时候图形学的课基本就没听什么东西,这方面是非常重要的,这是以后写出高水平shader和处理其他图形渲染需求的基本要求.这方面倒是没什么好书推荐,国内能买到的资料也不多,你可以看看文档或者去找一些CG语言方面的书看.上面的两点是你进步所必须的,再有两点则是你可以选择了解的,一个是人工智能也就是AI,这完全可以说是一门单独的学科,博大精深,很多人认为这是目前计算机领域最难的地方,当然对于我们游戏开发来说,你并不需要去了解方方面面,你应该着重去了解跟游戏相关的部分.特别是对于单机游戏来说,AI的水平很大程度上会影响玩家对游戏的整体感受.再有一点就是物理系统了,对于一些竞速来游戏或者是模拟类的游戏,你必须去模拟一些现实生活中的真实效果,而除了游戏场景中的光效渲染影响,再有就是物理系统的真实性,比如如果你做一款飞行模拟你就要去了解飞机真实在天空中所受到的各种力,以及飞机内部的基本驱动原理等等.这样我们才能做出越真实的效果.

   很多游戏引擎已经为程序员封装好了大量的操作,即使你不去了解上面说的四点,也完全可以Unity的工作,但是如果你要做出NB的画面,NB的效果,你就要去花些经历去掌握他们.不同引擎之间很多东西都是互通的,要努力学到引擎背后的东西,切不可浮于表面,到头来亏的还是自己。

   写作能力有限,表达上可能不是很清楚,我也刚毕业半年,刚工作半年,刚接触Unity半年,只是希望能给在Unity门外徘徊的同学们一些小小的建议,希望你们都加入Unity的大家庭,或者加入游戏开发的大家庭来.我们一起为中国的游戏产业崛起而努力.

 你所感知的一切困难都只是暂时的,人生就是一次次坎坷组成才那般波澜壮阔,我们有一张平凡的面孔,但是要有一颗强大的内心.

 尊重他人智慧成果,欢迎转载,请注明作者esfog,原文地址http://www.cnblogs.com/Esfog/p/3526315.html 

原文地址:https://www.cnblogs.com/Esfog/p/3526315.html