原文主要讲的是如何从零基础入门,然后一步一步进阶的文章,包括很多学习资料,学习的网址,研究方向等,内容还是比较全面的。大家多多支持一些克森大神,关注一下他的公众号。这篇文章就将原文的内容进行总结合并,然后转载过来跟大家一起学习。
原文地址:https://mp.weixin.qq.com/mp/homepage?__biz=MzI1MzE0MDg3Nw==&hid=1&sn=00e61bfa14752557021094dd3916f541&scene=1&devicetype=android-28&version=2700043c&lang=zh_CN&nettype=cmnet&ascene=7&session_us=gh_00307694a0ef&wx_header=1
原文作者:克森
原文出处:微信公众号Unity墙外的世界
目标
掌握面向过程(C语言)的基本概念和基础操作。
如题所示,这是一篇是针对那么一点编程基础都没有的人的。
记得当时学习C语言的时候,只是看着郝斌老师的视频,就开撸了,没想到还真的学过来了。对了,忘记说了,郝斌老师也是自学过来的。因此他讲的课也是比较适合自学的朋友。总之我就是看他视频过来的。那个时候看了很多C语言的教学视频,个人觉得他讲得最好,没有之一。
现在不同了,网上有很多资源。因此,我建议大家,边看郝斌老师的视频边跟着网站和书来。在这里给朋友们推荐一个网站,慕课网,因为它图文说明,且还可以操作。
总之就是多操作,把能看到的代码都用编辑器自己实现一遍。对了,编辑器我也为大家准备好了,因为大伙们是零基础嘛,所以我给大家配套的是小巧的编辑器 一 Dev-C++。
网盘资源:
C语言视频教程链接:https://pan.baidu.com/share/link?shareid=556600313&uk=1611341919
编辑器:https://sourceforge.net/projects/orwelldevcpp/
网站学习教程:
http://www.imooc.com/learn/249
我希望这篇文章能给你的Unity自学之路中开启新的篇章,还有我是个很有耐心的人,如果你在学习中有什么不懂得问题,我都可以和你慢慢的理解它哟。
到了这个阶段,我相信大家对基本数据类型,流程控制,数组,函数等都有了一定的了解了吧?接下来就缺面向对象的概念了。让我们进入面向对象编程的世界吧!!
还是老样子,书籍与视频的结合。
首先推荐大家看这本书《21天学通C#》,这本书的特点就是,简单易懂,没有那么多深奥的东西,且里面的每一个例子都非常精华,直扑主题。我个人觉得啊,刚刚开始学不需要学的那么深,要有一个循序渐进的过程,对吧。
这本书有些内容是不需要看的,当然你想看也行,至少我当时是没有看。
好了,书是有了,那教程呢?
教程的话,我相信大家都应该认识一个老好人吧,siki老师,他是一个很有耐心,且很负责任的一个人。他讲的C#教程与Unity有一定的联系,因此请大家看他的C#教程即可(至少在我看来是最好的了吧,没有之一哟)。
好了,等你把《21天学通C#》看完之后,就要看下一本书了,那就是《图解C#》,这本书实在是太经典了。
这本书利用图文的形式详细的讲述了程序运行时内存的分配状况,这便能让你最一些底层的东西有了一定的了解,这便扩展了你的编程思维。
好了,Unity自学之路之初级篇(上)到此就完了,学习是一个不断积累的过程,因此我希望大家不要贪快而导致基础不牢。你懂的,基础不牢就如一栋大楼,地基没打好一样没啥卵用。
书籍资源:链接:https://pan.baidu.com/s/1VAZdz0aQg4dTD6tc0x-KAg 提取码:8d5w
教程资源:
C#初级:链接:https://pan.baidu.com/s/1gqJHdYVeG2y1K9gPf-VOAg 提取码:tin6
C#中级:链接:https://pan.baidu.com/s/1XVFJljU7MdXP_ZhLRZz8rA 提取码:9uhq
C#高级:链接:https://pan.baidu.com/s/1edVJQeIG2NMIxOSMyZn1jw 提取码:m7d2
我希望这篇文章能给你的Unity自学之路中开启新的篇章,还有我是个很有耐心的人,如果你在学习中有什么不懂得问题,我都可以和你慢慢的理解它哟。
好了,学了那么多基础的东西了,现在是时候接触接触Unity了。让我们进入Unity的世界吧。
这个时候的书籍,相信很多人都知道是哪本书了吧?
那就是《Unity5.x从入门到精通》(对的,你没看错,不是Unity5.x从入门到放弃,,233)。这本是中国官方出的时,内容上也比较通俗易懂(至少对于Unity4.x。。好多了)。
看这本书的目的主要是开始认识Unity,对Unity的基本操作有一点的了解。
视频资源
对于视频资源嘛。不用说,那当然是我们的siki老师了。一个有耐心的、有责任的老师。
对于这个阶段来说,视频嘛,我们就看一些基本操作、和一些基础的视频即可。
所以我首先推荐大家能跟这我的步骤来:
总结
在这个阶段呢,主要是提高大家对Unity的了解和兴趣。让大家大概了解Unity到底是一个什么样的东西,以及知道那是如何工作的。总之就是认识它吧(妈蛋,又不知道怎么说了,好了唠叨至此吧)
PS:对了,在前面的学习中有什么问题的朋友可以加我微信,我会尽量的帮助到你的。我的微信:yao_11521,QQ764424567
视频链接:https://pan.baidu.com/s/1mhDZO7m
过前面的学习,我相信现在大伙们对于一些简单的程序阅读起来是一点压力都没有了吧(妈蛋,这语文,肯定有病句,但愿你们能懂意思吧。。)?
好了,现在一些简单的程序都可以写出来了,就是代码逻辑上还是不够强/好/猛(不知道用那个字)。就是一些想法都能通过代码实现了,只是代码写得有点长,有点乱。
。。其实我也不知道怎么说明,总之就是代码不够Perfect吧。现在举个例子:
大家有没有发现一个问题呢。Yes,那就是有重复出现的语句!!!
这个时候我们要怎么做呢?那就利用面向对象的特征中的封装来解决。
我们就可以把相同的东西提取出来,把它们封装到一个函数中去。这样的好处相信大家都知道,如果我们现在要把Hi改为Hello呢?那么我们只需要改一个地方即可(只需在SayHello函数中把Hi改为Hello即可)。如果是上面第一种方法的话,那我们就得改3个地方。看吧,这样的代码是不是就Perfect多了?
好吧,讲到这里,相信有些朋友知道我要在这章里讲什么了吧?
那就是设计模式
设计模式
设计模式的概念:
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
好了,还是老样子。书籍和视频的结合学习。
对于书籍呢,相信有一些朋友也知道是哪一本书籍了。那就是非常经典且Humor的《大话设计模式》
这本书还是不错的,案例贴切生活,并且非常的有趣儿,易于理解。记得我那个时候看着看着就入迷了,我居然把这本书当成一个小说来看了,真XX有趣~!!哇哈哈。
视频教程
对于视频,不怕大家说我。由于我的学习方式是书籍和视频的组合,因此在我看这本书的时候,为了能结合视频来学习,我是直接百度,然后随便下了一个设计模式系列的视频教程。
不过请大家放心。对于这个视频教程,我还是蛮认可的,讲得也是非常的好。只不过该教程是用Java来讲课的。
Don’t wrong,Please!虽然是用Java来讲,但是Java和C#其实就是一对兄弟,除了一些关键字不一样,其它都差不多。因此请大家放心学习,如有什么关于这个教程的问题,随时可以给我说说。我尽可能帮助到大家。
好了,今天就到这里吧。下一篇就是我最近学的东西了,也就是Unity自学之路之中级篇了。如果学到这里的朋友,那就让我们一起学习,一起进步吧!!可以得话,我们一起分享怎么样呢?
书籍资源:https://pan.baidu.com/s/1i3xbSuL
视频资源:http://www.ibeifeng.com/goods-10.html
好了,我们学到这里,对于面向对象的四个基本特征的运用已经掌握得差不多了吧。对自己写的程序也自信了许多了吧。
那么,是时候运用这些特征,加上所学的设计模式去做一些事情了。
能做哪些事情?
你们应该见过Array、List这些数据吧,你们也应该有操作过它们吧。但是,你们知道它们是怎么在程序中运作的吗?还有我们为什么要知道它们在程序中的运动呢?
因为我们更好的操作它们,那就得了解它们,这样我们才能随心所欲的操作它们去完成我们要完成的事情。正所谓,“知己知彼,百战百胜”。
算了,我不知道怎么写了,毕竟语文不好。不和大伙们绕了,在这篇文章里主要给大家说的就是数据结构。
数据结构
这时候可以会有人有疑问,为什么我们不先去学习数据结构再学习设计模式呢?
至少我是这样的情况,以前我也是这么想的,因此我就先去学了数据结构,结果太难搞懂了,这便导致我的学习效果非常的差。
之后经过学习设计模式后,对面向对象的基本特征掌握的非常熟练后。当我再去学习数据结构的时候,OMG。居然没有那么吃力了,这种感觉太棒了。
说了那么多,我们先大体了解一些数据结构的概念吧(我是直接百科的)。
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率的算法。数据结构往往同高效的检索算法和索引技术有关。
正如上面所说的。”通常情况下,精心选择的数据结构可以带来更高的运算或者存储效率的算法。数据结构往往同高效的检索算法和索引技术有关“
大体上就是说选择正确适合你的数据结构能提高工作效率。
总之学了数据结构,能让我们了解数据之间的存储关系,让我们能在合适的地方运用合适的数据结构来提高我们的工作效率,并且数据结构中常常会有一些常用的算法,例如:排序算法、查找算法等等,特别再一些框架中也运用到了数据结构等等。
学习方式
还是老样子,书籍与视频的结合。
对于视频,当时我看的是郝斌的数据结构,但是它用的是C语言来讲解的。不过讲解的非常详细,大伙们可以选择性的观看。
对于C#版的数据结构教学视频呢,目前我看到的还是siki老师的视频,但是有一点缺陷就是。他没把树形结构、图形结构讲出来。对于这一点,我想了想。如果可以我为大家出这一部分的视频教程,但是我个人不怎么会搞教程,毕竟语文不好,怕说错话。
好吧,今天就到这了。
好了,大伙们学到这个阶段了,在编程代码方面已经是非常完美了。但是完美还不够,我们还需要工作效率啊,对不对?
接下来,我要给大伙们在这章中讲的东西就是能提高工作效率的工具 ------- 《框架》
框架
首先先来看下框架的概念:
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。
可重用性指的是什么呢?
其实我也不怎么理解,以下是我对于可重用设计的理解(仅代表个人理解,不对的地方还请大家告诉克森):
可重用性设计,就是说,一套代码能用到很多个不同的游戏类型中,这便达到了可重用性。例如:有很多游戏都用到了背包系统吧,那么我只要写一套背包系统的代码,其他有背包系统的游戏便能用到这套代码,这便提高了工作效率,对吧。
总之,一套很屌的框架可以运动到任何方面,不仅限于游戏噢。
不怕大家笑,其实克森最近也在学习框架。因此,对于框架的理解还不是很透测,所以下面给大家的资源只是克森已经学过的东西,觉得还不错,就分享给大家去学习(如果哪位哥们还有好的资源,请分享给克森,我们一起学习)。
首先,我当时学习框架的时候是先从MVC框架学起的,毕竟那也没那么难嘛。。
克森当时学习MVC的时候是看了一些博客,比如你可以去百度直接搜索:“浅谈Unity使用MVC”便能找到克森当时看的一些学习资源
对于比较好的文章的话,克森看过的文章里面就是下面这个讲的比较详细,且还有一些对MVC的简单操作:
文章网站:http://www.manew.com/thread-50564-1-1.html
对了,忘记说了,我的学习方式还是书籍和视频的结合,但是这回的书籍就是所谓的技术博客了(对于框架的学习,暂时还不知道看什么书籍,如果谁知道介绍给我下,谢谢你了)。
视频教程
对于视频,当时我看的是泰课网的PuseMVC,所谓PuseMVC嘛,它是基于MVC建立的一个轻量级的应用框架,因此和MVC也差不多。
视频网站:http://www.taikr.com/course/280
讲得还不错,就是老师说话有点怪,对于刚刚看他视频的哥们来说,也许时不时会被吓到 = =。。。总之,请耐心,认真的把这个视频看完吧,你觉得能收获很多。
接下来我就去看了有限状态机框架了,对于框架来说,我只能看一些技术文章,还是老样子,百度一下,你就知道 = =。直接输入“Unity有限状态机”即可(注意:这个部分,大伙们可以选择性的来学,因为克森当时学的时候很是艰难 = =)
视频的话看的是这个视频,但是个人觉得他的那套有限状态机好复杂,很难懂,不过也给大伙们介绍介绍吧,大伙们可以选择性的学习。
PS:不过这套视频要钱,克森当时是用学习卡免费看的,只不过只能免费看一个星期,克森这里还有一张学习卡,如果大伙们需要的话,我马上激活给大伙们使用一个星期。
对于这个视频,他也写了一些相应的文章:
文章网站:http://www.manew.com/forum-47-231-1.html
对了,还有一个非常棒儿的视频,真的很棒~!!!
这套教程里面大概讲了这些东西:针对一些框架的优劣点讲解、设计模式的原则讲解、简单的讲解UI框架等等。
当然他也有一套全面的视频教程,但是要花一大笔钱(至少对于克森来说是这样的),不过克森觉得这笔钱花得很值得吧,如果有钱的朋友可以选择性的购买他的教程哟。
没错,,那可是一大笔钱啊,,3000多。。不过有个窍门,你可以加入他的群,然后跟他讨价还价哟,233。。
接下来就是克森目前在学习的框架,这套框架是针对Unity制作的,并且还是免费的,代码任你看的哟。
那就是StrangIOC框架。对于它的解释我还不是很了解哟。因为克森还在学习中,我怕误导大伙们,所以就直接给大伙们介绍一些学习资源吧。
PS:由于版权限制,不能直接给大伙们网址,你可以上腾讯GAD平台上直接按标题搜索即可。
这个不知道配什么图了,大伙们就直接去看就对了吧 = =。
好吧,克森脑子不怎么好使,暂时就给大伙们写到这里吧。
让我们一起进步,一起努力吧,哥们。也许我们就是未来的科技之星呢,哇哈哈~!!!
首先先感谢学到这里的大伙们,谢谢你相信克森,坚持到了这里。
好了,克森相信学到这里的哥们对于C#掌握已经很OK了,现在自己看一些代码啊啥的已经不是那么的吃力了。那么接下来我们要做什么呢?
那就是进一步了解Unity,之前我们只是对Unity做了个简单的了解,现在我们要做的事是对Unity进一步的了解。
####进一步了解Unity
那么我们要怎么对Unity做进一步的了解呢?
那就是熟练的掌握Unity的各个组件,比如:物理系统、粒子系统、UGUI等等。
那么我要怎么去熟练的掌握它们呢?
那就是通过官方的文档说明,然后结合文档做一些测试和学习掌握它。
传送门:http://docs.unity3d.com/Manual/index.html
大家可能会问,克森,官网上面全是英文,看不懂怎么办?
好吧,那我们就找个中文的看看呀,对吧?相信有很多人都知道我要说的中文文档是什么了,那就是Unity圣典!
传送门:http://www.ceeger.com/
Unity官网的组件模块对应于Unity圣典的组件手册:
在学习组件手册的时候顺便也把相应组件的API也学了,这样便能事倍功半,对吧。
UnityAPI官方文档对应于Unity圣典的脚本手册:
PS:由于Unity圣典的版本更新得比较慢,因此克森建议大家边看Unity圣典,边打开官方的文档进行对比。
温馨提醒:不要觉得学这些太多,太无聊,因为Unity都是由这些东西组成的。你只有深入的了解它们,才能知道怎么运用它们,并且扩展它们。
好吧,等大伙们把上面这些内容都弄懂的话,那么使用Unity已经是小菜一碟了。
找感觉
好,是时候展示真正的技术了!
之前没有叫大伙们学习太多的教程,为什么呢?
那是克森帮大伙们节省时间。这时候肯定有些人会说,挖草,你吹牛吧,假好人吧!
好,是时候解释一波了。
仅代表个人观点:那是因为我们要在对应的阶段学习该学的东西。
怎么说呢?
就是你没到达那个阶段,就盲目的跟着教程来,你是学不到什么的,反而会让你产生负面的影响(至少克森当时是这样的)。
因为你看不懂啊,看不懂怎么办,那我就只能跟着教程来。教程怎么来,我就怎么来,只要能达到效果就行,便导致整个过程都只是在抄教程里的代码,而不是去理解它(因为理解不了嘛,即可教程里也做了一些解释)。
但是现在的你已经不同往日了,现在的你已经可以看懂那些教程了(对应国内的免费教程蛤)。So,让我们盲目一次吧,开始跟着一些教程来制作一些项目找感觉了。
那么这里教程去哪里找呢?(我相信我说的这句话是废话吧)
这里是克森要装逼一次了蛤,那就是去9秒社区~!!!
这回知道克森分享给大家的东西都是精华了吧~!!(好了装逼完毕)
传送门:http://www.9miao.com/thread-93715-1-6.html
PS:由于工程太大,克森就不帮大伙们整理了,大伙们自己去下载吧。。还有就是9秒上面真的有很多好东西,大伙们可以自行收集。
大伙们要是把这里都学习了,都弄懂了。好吧,大伙们离找到一个合适的工作不远了。
Alright,今天就到这吧,今天是最近发布最快的一天了,好爽啊。
其实我这个是有点废话了,但是我也勉强解释一下为什么弄一个《Unity自学之路之数学篇》吧。
相信大家心里都明白,我们现在用的是Unity3D,所谓3D,那必定会与数学扯上关系。
这时候也许有人会说,却,数学Unity不是帮封装好了吗,我们直接用就行了啊。
好吧,我也只能跟你说一声,你这个想法有点简单咯哟。这样吧,至少我个人觉得,你要用一个东西,至少要准备一下几点:
1.了解它的概念
2.知道它的用法
3.在什么时候用它
因此,你不了解它,何谈利用它呢?(妈蛋,废话有点多了,请大家体谅)
PS:我这篇是针对零基础的,意味着你连数学都不知道。。如果以下内容你有学过的,可以跳过那些学过的,直接进入没有学的过进行学习(妈蛋,有点绕啊,没办法,语文不好)
干货链接
加法与减法:http://open.163.com/special/Khan/additionandsubtraction.html
乘法和除法:http://open.163.com/special/Khan/multiplication.html
约数与倍数:http://open.163.com/special/Khan/multiples.html
数的性质:http://open.163.com/special/Khan/number.html
分数:http://open.163.com/special/Khan/fractions.html
负数:http://open.163.com/special/Khan/negative.html
小数:http://open.163.com/special/Khan/decimals.html
指数:http://open.163.com/special/Khan/exponents.html
对数:http://open.163.com/special/Khan/logarithms.html
绝对值:http://open.163.com/special/Khan/value.html
复数:http://open.163.com/special/Khan/complexnumber.html
基础几何:http://open.163.com/special/Khan/introductory.html
几何学-角:http://open.163.com/special/Khan/angles.html
三角形:http://open.163.com/special/Khan/triangle.html
多边形、四边形、平行四边形:http://open.163.com/special/Khan/polygon.html
三角学:http://open.163.com/special/Khan/trigonometry.html
基本代数:http://open.163.com/special/Khan/algebra.html
线性代数:http://open.163.com/special/Khan/linearalgebra.html
好了,学到这里的话,你绝对算得上一个数学大神了(至少对于我来说)。对了,上面的视频都是可汗学院的,我相信有些朋友是知道可汗学院的。在这里我也只是为了方便大家和对一些不了解可汗学院的朋友总结一下路线,件此而已。
当然,上面的视频有一些还没有翻译中文,还有一些你可以跳过不学,具体由你来吧。
题外话
真的真的,我说真的,大伙们不要觉得太多了,我还是老样子,高楼大厦与地基的关系。你只有基础牢了,才能走得更远。我知道有些朋友很急着立马找到工作。
也许有些人说,去了公司能学得更快。嗯嗯,对的对的。是很快。但是去了公司你基本上自己学习的时间就少了,这意味着什么?意味着你想深入研究一些东西就没得时间研究了,这便导致你的技术只能停留在完成公司项目的程度上。
这个时候也许还会有人反驳我,在公司上班不还有晚上的休息时间和双休日的休息时间吗?
好吧,是有,但是能拿那些时间来学习的人有多少呢(我不是针对谁,请谅解)?妈蛋,又唠叨太多了,对于这篇文章就到这了。
官网教程
首先是一些官网的教程,为什么要看官网的教程的,个人觉得嘛,首先你作为主人,你要给别人用你的东西,那就得做详细、且简单易懂的介绍,对吧。因此,我认为官网的教程还是蛮精华的。
有人会问,官网的教程不都是英文的嘛,,哈哈,放心。我已经为大家找到翻译版的。
网站:http://space.bilibili.com/7647261/#!/index
看了吧,这个人是英文的真大神啊。把官网上的教程都翻译得差不多了。。。
里面涵盖了:脚本,UGUI,2D游戏等等。
可以的话,建议大家都它看完了吧。。
对于论坛(博客)网站的话,不用说CSDN、知乎、简书。
在这些论坛上,你只要搜索一些关键词都能找到你想要找到的文章,然后你可以多阅读几个内容一样,但是解释不一样的文章,然后进行分析分析,取之精华之处,放进你的大脑。
接下来给大家介绍一个克森一直关注的东西:
网站:http://www.taidous.com/bbs/type-157-313-1.html
那就是泰斗社区(就是泰课在线的论坛)的问答活动模块。为什么我要介绍这个给大家去看呢。从上图中就能知道里面要讲的内容了吧。里面有一些Unity开发者们在使用Unity中遇到的问题,然后这些问题会被一些大牛回答。因此,我们便能从中学习到很多很多东西(反正就是有好处就对了)。
接下来就是腾讯的GAD游戏开发平台:
网站:http://gad.qq.com/
在这个网站上有很多模块,比如:美工、策划、程序等等。
因此这个网上的东西适合的面非常的广,且内容也非常的精华,只不过这个网站似乎是刚刚弄不久吧,里面的东西还不是很多,不过对于我们来说,已经是一个非常不错的学习圣地了。
对于资源嘛,特别是美术资源,我是在这个网站上下载的 - 《9秒社区》
网站:http://www.9miao.com/
里面有很多很多的资源,而且是不同平台的资源,但是克森喜欢去上面找美工方面的资源。