怎么规划一个零基础学习Unity3D的“方法”或者“流程”?
链接:https://www.zhihu.com/question/35542990/answer/182682341
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
学习分为4个阶段
一、朦胧期
这个阶段你主要是在朦胧中度过,通常脑子里想的就是,卧槽,这特么是啥?卧槽,这特么又是啥?你看着命令行里面的HelloWorld静静的发呆,第一次能完全打出来的时候脸上会露出 “四国以 ”的表情。这个阶段你需要做的就是和命令行和编译死磕,不断的做练习,将你在视频上看到的那些小例子统统用代码实现,Siki的C#基础入门视频有部分的练习题,但是还远远不够,有的时候你想到一些问题的时候,也应该习惯性的联系到代码上面,例如说用代码做一个电视遥控器的按键效果,自己给自己架设问题,尝试去解决。这个阶段是整体步骤中最长的一个。C#是驾驭Unity的缰绳,打基础这项对于零基础学习的同学是至关重要的。
推荐教程: Siki C#教学视频
二、学步期
有了C#的基础能在后面的引擎学习中有什么用处呢?答:用处不大。那为什么还要那么注重C#基础语言呢,因为语言是贯穿整个引擎一生的必要之物,但是在引擎学习中,主要学习的是引擎中组件和相关功能的用法,和处理问题的思维。比如说,更改一张Image的Color,你要做的首先是要获取到Image,然后通过更改其color属性为自己想要的颜色。说起来很简单但是刚开始进行操作的时候,连怎么获取都是通过在Inspector面板里直接拖取进行获得,此时多学习一些相关的API就完全有必要了。另外,通过几个简单的Demo也能够让自己对这个引擎的运作更感兴趣(或者摧毁掉这份兴趣),建立起后面的学习信心。
推荐教程:飞机大战,噩梦射手
PS:这里要注意的是一定要养成一个写笔记的习惯,笔记可以边写边记,也可以完成项目之后进行总结,但是一定要去写,写关于某个组件的使用,或者是问题的处理逻辑,对后面举一反三能力的培养至关重要。
三、开化期
经过简单的几个小Demo,你已经能够正常的GetComponent或者调用一些简单的API 了。但是你的手段仍然略显稚嫩,而这个阶段所需要的就是对更多的组件进行认识,同事编写一些难度高一些的逻辑问题,在潜行里面,有一段关于机器人AI算法的部分,当时在写这里的时候,异常的痛苦,并且在写完之后迅速的就忘了视频上所讲的一些细节。怎么办??重新写,当时我的做法是把脚本删掉,按照笔记上整理的思路,重新把脚本写出来。虽然可能对当时的我来说有些困难。但是坚持下来发现,效果很好,最起码相关的组件和思路能够记得牢固。我甚至现在还能记得当时相关计算部分的细节。另外,在这个阶段,你能更多的接触到关于Bug的类型。空指针、索引越界等等等等。处理bug的经验才是程序员最宝贵的财富(大雾)。而之前所说过关于思路的整理,对于项目的帮助也是非常重要的一部分,记得在潜行里有一个关于呼吸灯(红灯闪烁)的效果,那是第一次接触到Lerp,后面只要是遇到关于逐渐、跟随等字眼,第一个想到的自然就是Lerp
推荐教程:炉石传说、潜行、逃离地球、Ugui基础
四、入门期
这个阶段你已经有了一定的积累,学会了不少的API,也不是原来的小白了,现在你要做什么呢?现在要做的就是做一个更大的项目来充实自己,不断的强化,多方面,无死角的折磨自己,让更多的bug对自己进行轰炸,让自己的精神受到折磨,因为自己很小的疏忽导致整个项目崩溃,从而再来一遍。如果说bug没有折磨疯你,大量的UI没有把你的眼睛弄花,对狗屁算法能够无所畏惧,大量的组件功能也没有把你击垮,那么恭喜你,终于迈出了最后一个阶段,你,终于入门了,欢迎来到Unity的世界,我的朋友。
推荐教程:火炬之光,泰斗破坏神
总结:从零开始学习Unity本来就是一件非常艰苦的事情,大致归结下来的流程就是
1.C#基础,小的练习和训练。
2.Unity基础,包括引擎知识和组件运用
3.Unity提升,基础的算法和大量API,以及Bug修正
4.Unity入门,积累,积累,积累。Bug,Bug,Bug。
之所以说到帖子结尾才是刚刚入门,那是因为之前无论写了多少代码,看了所少视频都是有一定模板去让你跟随,去模仿的,但是进了公司之后,发现之前写的代码根本没有什么难度。而且对你的要求也是更为独立的去完成某一模块,你只能是不断的积累,去修正,去学习。只有日复一日的去写代码才能提高到更高的高度,卖油翁那句话怎么说来着?
无他,唯手熟尔。