Unity3D学习路线与学习经验分享[通俗易懂]

Unity3D学习路线与学习经验分享[通俗易懂]Unity3D学习路线与学习经验分享//最后一次更新为2019.7.22日,更新了一些废掉的链接作者:15游02丁祺你好,这篇文档是我的导师孙老师(以下简称老孙)指名我书写给新手、初学者以及技能有些许缺陷的人的一篇经验分享的文档,当然如果你看到了这些文字,代表着你是一个有意愿或期望去学习这款软件的人。因人与人之间有很多的不同,以下我会尽我所能,通过不同切入点与角度,并根据以上人群的不同…

大家好,又见面了,我是你们的朋友全栈君。

Unity3D学习路线与学习经验分享//最后一次更新为2019.7.22日,更新了一些废掉的链接

作者:15游02 丁祺

你好,这篇文档是我的导师孙老师(以下简称老孙)指名我 书写给新手、初学者以及技能有些许缺陷的人的一篇经验分享的文档,当然如果你看到了这些文字,代表着你是一个有意愿或期望去学习这款软件的人。因人与人之间有很多的不同,以下我会尽我所能,通过不同切入点与角度,并根据以上人群的不同技术程度,来帮你提升你的技术实力,我会在结尾留下我的联系方式,有兴趣的话可以联系我。那接下来我就分享一下我的学习经验。

写给新手与初学者:

你在准备开始学习这款软件之前,可能经常会听周围的人说,“英语很重要,如果不会英语,程序是学不会的”,“学程序,就又得背单词了”,“C语言都没学好,不可能搞得懂Unity3D的”…等等这一些容易影响心态的话。我认为,学这个,开局最重要的并不是疯狂翻书疯狂看视频直接拿来就学,而是——消除恐惧,消除对程序,对Unity3D“高大上”的感觉。

所以学Unity3D需要英语吗?

那?你觉得什么程度才是会英语呢?我分享两个链接给你,这是英文演讲与纯英文文档的网页链接,如果有兴趣测试一下自己的英语实力的可以打开看一下。

【Unite 2018 柏林大会】完整版录像

https://www.bilibili.com/video/av25266964?from=search&seid=16153052159950265652

Unity3D官方API文档

https://docs.unity3d.com/Manual/index.html?_ga=2.153078527.776856565.1539157046-412574144.1536670294

对于我来说,如果你能听懂英文技术演讲录像,能看懂英语技术文档才能被称之为会英语,反之则不会,我觉得不能为你解决实际问题的技能根本不能称之为会,只是在浪费时间而已。简单说,如果你想靠Unity3d这个东西吃饭,并不需要英语水平,你不需要刻意 去记忆英文语句,按照我的话讲,纯英语界面的Unity3d,抄它的界面就好了,界面没有的,去网上找对应的功能,并抄在笔记上,下次用的时候直接去翻就足够了(如果你想尽快提升能力的话,我建议千万不要去记,用的时候直接去翻看笔记就好了,在大量的练习中,你的大脑就会自然而然的记住这些代码,我就是这样的)。

当然了,如果你想成为界内大牛,你就必须会英语了,毕竟这是老外的东西,学会英语可以帮你打开一扇新的窗户。不过你现在的英语实力绝对绝对足够去学习这款软件了。

C语言学的差,会不会差很多啊?

会C语言与不会C语言的人,同时学Unity3D中的C#的学习速度,是有区别的,毕竟他们两种语言之间还是有一些共同的部分的,但达不到很多,这种程度。但与其你自己纠结 这个问题,不如问问自己愿意付出多少学习能力在这个上面。每个人都拥有清华北大学生的学习力,只是愿意付出的量不同而已,想学就一定不会差

“我感觉Unity3D就是一个小学生引擎,画质贼差,感觉学起来没什么意义,还不如去学虚幻呢。”

相同场景下 虚幻4 VS Unity 5

https://www.bilibili.com/video/av17956467/?spm_id_from=333.338.recommend_report.2

如果你有这种感觉的话,推荐试一下《崩坏3》手机游戏与腾讯的《逆战》电脑游戏;

 

总之Unity3d只是个工具,做出来的东西的好坏,取决于用的人,就像你打游戏,如果你技术不好,再版本强势的英雄,你也没法单人打上最强王者。

 

 

如何开始学习Unity3d?

我要变学霸_如何写笔记?How I Take Notes

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

在开始学习之前,你需要一个笔记本,推荐活页的,就是那种可以拿下来单页的那种,他就是你以后学习时,你大脑的硬盘,笔记法同时适用于世界上的全部科目。具体怎么写笔记我就不说了,只需要记住两点:

  1. 千万别自以为是的认为自己的脑子很好使,你不是机器,写笔记,必须且一定要写,不然,重复查找自己找过的知识点的时候,你的心态会受到影响,且会浪费大量的无用时间,而且千万别用电子版,记录电子笔记的时候会勾起你ctrlC+V的欲望,表面看,你节约了半分钟打字时间,可你没有经过你大脑思考的这一步骤,会严重影响你的记忆,而且电子版无法像纸质笔记本那样粘书签,翻看会非常麻烦,相信我,多动手写几个字而已,不会要人命的。
  2. 写知识点的时候千万千万别抄别人教给你的话,(1)一定要尽可能的精简,(2)并尽一切可能用自己的语言表达,然后把自己的话记录到笔记本上,否则你就是白写,没有任何意义。

 

开始学习Unity的几种方向(热手用的入门期,熟悉者可以跳过)

以下我会给你列举几个我个人推荐的开始学习Unity的几个入口,当然你在学习这些东西的时候,不要忘了听课(课上尽量不要跟着敲代码,敲代码会一定程度的影响你的注意力,而是听出老师讲课的核心,并把核心知识转换成自己的话,写在笔记本上);你可以根据自己的兴趣,与自己大脑的记忆习惯来选择,从哪个位置进入。这几个入口是没有优劣的。不用觉得哪个入口高大上,重要的是,这个入口是否适合你自己,如果发现听不懂,认真再听一遍,如果还是不会,直接跳过。不过在学习期间,你是没精力玩游戏的,记得删掉你手机与你电脑里的游戏,等你自己的Unity技术足够养活自己了以后,再用Unity给你赚来的钱,充到游戏里做个天选之人吧。

以下全部视频我都看过,你大可不必担心视频的质量(我个人在看视频学习的时候,会同时播放一些没有人声的轻音乐,来降低困意)

1、暂时比较厌恶或者恐惧代码,以及零基础的人

傅老师的Unity3D教学 //这里傅老师的原视频被收购,所以他近期刚刚新出了一套新鲜的视频,供大家使用

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

这个系列是通过插件的方式,来尽量绕开代码这个大难题的(当然不代表完全没有),让你在不太了解代码的情况下就可以基本操作Unity,并且可以做一点东西出来,他还在这个系列里教学了插件画面美化,通过点击的方式就可完成3A画面的特效处理。

 

2、传统的教学方式:

这个入口主要是以不断完成微型小游戏的一种路线,有一点点难度,推荐了解一些些C语言或其他编程语言的人进入

Unity零基础入门 – 打砖块 http://www.sikiedu.com/course/77

零基础入门Unity – 古迹探险 http://www.sikiedu.com/course/84

Unity5.2入门课程 – 进入Unity开发的奇幻世界 http://pan.baidu.com/s/1mhDZO7m

Unity中的C#编程 – 零基础(Unity 2017) http://www.sikiedu.com/course/83

第一季 C#编程初级教程 链接:https://pan.baidu.com/s/1nwGyGDN 密码:memt

UGUI – Unity 5.1超强UI案例学习 http://pan.baidu.com/s/1qYENTW4

这个系列使用比较传统的教学顺序,来熟悉Unity操作的。

 

3、相比视频更喜欢看书:

《Unity游戏设计与实现 南宫梦一线程序员的开发实例》(绿色的书)   第0章

 

《Unity 5.X从入门到精通》  Unity官方制作,精品中的精品(这本书包含了入门期开始到精通这款引擎的几乎全部内容,如果你打算看这本书,坚持从头看到尾吧。

 

要尽早结束入门期,毕竟入门期只是用于热手。

 

正式学习期

入门期结束后,就要正式开始学习Unity了,以下为必学项,每个视频后我都会写上我认为必学的理由,我会尽量解释清楚推荐的理由,不会让你带着“我擦学这有啥用啊”之类的想法去看的。

以下视频我会分成块,你看的时候,各模块之间看的顺序可以随你兴趣,但所有的视频内容都必须认认真真看完。(此清单的部分内容来自于SIKI的A计划学习路线的加工整理版本)

 

代码部分(代码,与外语一样,都是一门语言,都是用于交流的工具,只不过外语是跟人交流,而代码是跟机器交流的,学会了代码你才能真正开始控制电脑,让他帮你工作;放心,代码是世界上最简单的外语,比学英语相比不知道简单了多少倍。)

第一季 C#编程初级教程(基础代码部分,这其中大部分都跟C语言,Java相同,已经学过的可以快进着看) https://pan.baidu.com/s/1nwGyGDN 密码:memt

第二季 C#编程中级教程(略微提升了点难度,但其中的内容都很常用。学这个的时候会有一种完全不知道这破玩意有什么用的感觉,没事这是正常现象,不用太担心,做好笔记,当你完全理解了面向对象以后就明白了) https://pan.baidu.com/s/1htLYalI 密码:78zv

Unity API常用方法和类详细讲解(API是Unity这个引擎提供给你的“工具”,这部视频干货特别特别多,不要用脑子记,但千万记住,一定要在做好笔记的同时,理解每一条API的大致意思。这是Unity最最最核心的部分,你以后的学习和工作中会天天用到这部分的内容。) http://www.sikiedu.com/course/59

 

物理系统(因为现实中的真正真实的物理,实在是太难模拟了(想象一下摩擦力),所以程序员使用了“碰撞器”,来大致模拟现实中的物理效果(如你去台球厅打球,人用球杆用力击打白色球,这个球撞到其他球时,可以打飞其他球。这种“打飞”其他球的效果使用了碰撞器来实现。))

Unity官方教程-3D物理系统-中文版 (这段视频中的难度是逐渐上升的,先看懂前4 课,可以不用强迫自己一口气看完) https://space.bilibili.com/28562838/#/channel/detail?cid=30384

 

UI部分

UI是我认为的Unity中最简单最容易上手的一部分了,基本不需要写任何代码,拖拖拽拽很容易就OK了。(可能有人听过NGUI,我简单解释一下,NGUI是过去人们用的非Unity官方制作的UI系统,现在已经不像过去那么流行了,个人不建议学习,当然,有兴趣者可以看看,不过UGUI一定要会)

UGUI – Unity 5.1超强UI案例学习 http://pan.baidu.com/s/1qYENTW4

 

动画系统(如果你不希望你做出来的游戏都是一堆不会动的“僵尸”,就好好学这的内容。这里放上的视频链接为3D模型的动画系统)

需要学习的量有点大,有一定难度。不过我还是那句话,不要用脑子记,抄笔记。

 

Unity中的动画系统和Timeline(Unity2017) http://www.sikiedu.com/course/82

 

光照系统 (不过多解释)

[傅老師/Unity教學] 30 – 3種烘焙光照模式(Baked Lighting)

https://space.bilibili.com/211153830/#/video?tid=0&page=5&keyword=&order=pubdate

[傅老師/Unity教學] 渲染相關知識 – 01 基礎渲染步驟

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

[傅老師/Unity教學] 渲染相關知識 – 02 室內光影基礎實驗

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

[傅老師/Unity教學] 渲染相關知識 – 03 用一顆石頭架場景!! 室外光影基礎實驗

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

 

粒子系统(这里我就不多解释什么是粒子系统了,打开视频链接,自己看吧)

 

Unity官方最新粒子特效素材包视频 https://www.bilibili.com/video/av31104362?from=search&seid=10690239211286766965

 

顺便在此推荐一下上传这个视频的B站UP主Shallot夏洛特,他的个人空间经常会上传一些关于Unity新奇功能的教程。想长期学习Unity的话,推荐关注一下他的动态。

 

Unity中的Shuriken粒子系统(Unity2017)入门级教程(想深入学习粒子的就去网上查吧)

http://www.sikiedu.com/course/79

 

 

DOTween动画插件

这个插件是所有插件中,唯一的一个我建议你必学的插件。这个插件是用来制作物体的移动(从一个位置移动到另一个位置的动画),UI的移动(从 一个位置移动到另一个位置的动画)从一个颜色渐变到另一个颜色(从一个颜色变换到另一种颜色的动画)的一种便利性的插件。嗯?没听懂?

DOTween

链接:https://pan.baidu.com/s/1i6Ud2XB 密码:6amf

 

项目制作教程(知识学累了吗?想实际做做项目练练手?我这里精选了几个我做过,并且感觉收获颇丰的视频教程给你,推荐你感觉脑子爆炸的时候食用。)写代码的时候,如果你有能力,尽量不要抄袭他的代码,使用自己的习惯去写,只要做出来的东西和他一样就行,这种自己思考代码的方式将会极大的培养你的代码写作能力。

初级案例:

Unity初级案例 – 坦克大战(Unity2017.1) (就是小时候我们玩的插卡游戏机里的坦克大战)

http://www.sikiedu.com/course/90

Unity初级案例 – 愤怒的小鸟(其中使用了2d的物理系统,使用方法和3d的基本相同)

http://www.sikiedu.com/course/134

有一定基础后的案例:

Tanks第三人称双人坦克大战视频教程

链接:https://pan.baidu.com/s/1eTbuUxO 密码:qi4b

Stealth秘密行动 (Unity最经典官方项目之一) 链接:http://pan.baidu.com/s/1miMWSas 密码:bl83

从零开始三小时速撸一款雷姆小游戏Unity3D全过程(如果你喜欢二次元的孩子推荐这部和下面那部。会稍微有点理解上的难度。)

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

从零开始的两小时速撸:使用血小板制作脑血栓游戏(跳一跳)

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

MMD功能 写实版场景配Unity娘 极乐净土(喜欢二次元的同时,又好奇MMD到底是怎么制作出来的人推荐玩一下这个视频)P1为介绍视频。P2为教学视频

https://www.bilibili.com/video/av7700841?from=search&seid=13542732114945459430

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

(在这个作者刚出雷姆小游戏的时候我还是个代码都不会的孩子,但当他出血小板的时候,我已经可以用我自己的Unity知识工作了;假如你真的想好,要走Unity这条路的话,狠下心来好好学,努力是不会辜负你的。)

 

在此推荐一下这三部视频的作者 新鲜的女尸,就跟这名字一样,这小子真跟尸体一样突发性诈尸一次,然后又进入了长期的休息期,喜欢做二次元Unity项目的人推荐关注他一下,没准哪个动漫突然火了以后又出来诈尸一次。

 

 

最后的高级提升期

因这里的内容都比较难,如果你没有上面的知识积累,看这里的视频会让你困懵逼的。这部分内容推荐已经学了新手期与大部分入门期的人再深入学习

 

高级代码部分

第三季 C#编程高级教程 这部视频可以说,已经把代码的全部内容讲完了,难度很高,可能你看完了初级和中级以后依旧看不懂,如果真的用心去看,并且反复看了好几遍依旧看不懂的话,先放下学学别的,然后再回来看。推荐有至少一年代码经验的人食用

链接:https://pan.baidu.com/s/1slBP7mH 密码:eob1

 

数据结构 数据结构是一门分析如何存储数据与数据之间逻辑关系的一门学科,这部视频里的老师讲的真的很好,你认真看能看懂的。数据结构的知识面试很容易考,你一定要认真学里面的知识点。(千万不要看上海交通大学的和清华大学的数据结构公开课,虽然这两部视频中的老师讲课很有牌面,但是全是说的书面语言,没有习惯听书面语言的人是不太可能听懂的,最好不要去看,不然会严重打击你的自信心。)

【考研】赵海英 数据结构 (这部视频就不像C#高级篇那么难了,认真听就能会)原链接的视频被取消了,如果需要查看,请在B站或者百度搜索赵海英 数据结构

【郝斌】-数据结构入门 (学历不高,但讲课极其精辟的一位老师,喜欢听白话讲课的人非常推荐,  推荐上下两位老师一起结合着看,你会有非常高的收获)

https://www.bilibili.com/video/av6159200?from=search&seid=10153396348143638381

这里我再推荐一本书 《大话数据结构》

这本书用很通俗易懂的语言写了数据结构的内容(虽然有的例子贼牵强,哈哈哈),推荐不喜欢看视频,或者看完视频后查缺补漏使用。

Unity编辑器扩展 编辑器扩展是一种提升在Unity中的脚本美观性的一种技术,学起来还是很好玩的。

编辑器扩展

在线观看: http://www.sikiedu.com/course/47

链接: http://pan.baidu.com/s/1gfHURYF

【水鸡游戏课堂】Unity编辑器扩展1至7

https://www.bilibili.com/video/av23671632?from=search&seid=4358948779151612714

算法 算法是一门研究如何利用数据存储的数据,求出计算结果,以及讨论最优计算方法的一门学科,有些地方也把算法也一并算作是数据结构。(这里的这一部视频,并未收集全部算法领域的知识,你需要在以后的工作中继续学习补充你缺失的部分)

编程内功修炼-算法 链接: https://pan.baidu.com/s/1eSgkCpk 密码:xcz2

 

设计模式 设计模式是前人写代码时,透过需求发现的一些常见的结构上的问题,并把这些问题的常见的解法,用UML图与简单的文字归纳出来的一种代码结构思想。在学习这里的知识点的时候,如果突然有一种,“卧槽,在我学设计模式之前我就用过这模式”的感觉,说明你在之前的练习中,真的用心去思考问题了,是一种非常很好的现象;在学习设计模式的时候需要注意几点。

  1. 这不是考验记忆力的学科。设计模式不要死记,重要的是学会他构建代码时候的书写模式。
  2. 不要任何地方都想用设计模式。学会设计模式后,宁可不用也不要滥用设计模式,不然会让你觉得束手束脚,无从下手,当你有了大量的代码练习基础后,你就会明白模式的好处,与应应用的场合了。
  3. 不要觉得设计模式中的例子就是绝对正确的。有时候设计模式中举的例子,并不一定是你的项目中真正需要使用的书写方式,千万不要被他的例子束缚住。
  4. 以上三点虽然我说的很轻松,但是想真正做到这些,没有大量的实验与使用基础是不太可能做到的,不要有太大压力,慢慢来别放弃。

因我自己学习时使用的是SIKI A计划课程中的视频(收费),所以不敢给你瞎推荐好的免费视频,如果你没有A计划的账号,推荐去B站搜索“设计模式”,手动搜索适合自己的视频。A计划收费视频   游戏开发中的设计模式 http://www.sikiedu.com/course/54

 

框架:MVC 这是我认为最有用的东西之一了,他可以说属于设计模式的范畴。我认为他与其说是知识,不如说是一种规划代码的一种整理方案,让你不再觉得代码乱,也会杜绝总会出现一些在奇奇怪怪位置调用的变量。

同为A计划收费课程 基于MVC架构的俄罗斯方块开发(基于Unity2017)

http://www.sikiedu.com/course/80

 

数据库 数据库的重要性不用我多说吧。

MySQL数据库从零到精通 链接:http://pan.baidu.com/s/1mh6FR5Y 密码:qlf7

http://www.sikiedu.com/course/48

 

Shader Shader是一种显卡语言,当然了,如果你真的能学到这,我想也不需要我解释什么是Shader了。

简单易懂的Unity5 Shader着色器入门教程

https://pan.baidu.com/s/1pLCwaKj 密码:7wqu

 

以上可以说就是Unity需要的基本知识了,还剩下一些零碎的知识,需要你自行查找并学习。

1、3D数学

  1. Json 数据持久化 想将数据保存在硬盘里?学这个吧。
  2. uLua热更新 链接: https://pan.baidu.com/s/1kUIZMcB 密码:x12i
  3. 网络链接Unet  或者 PhotonServer

 

结束语:

如果你真的按照我说的做,并且认认真真按照我说的路线与方法学了下来,谢谢你愿意相信我,也愿意相信你自己。带着你努力的成果与这股学习力,去找工作吧,社会不会辜负愿意努力的人。

作者:丁祺

QQ:1968548010

版本:v1.1;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141640.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Python 逐行读取txt 文件并生成列表

    前言开始1.载入文件2.读取数据流3.数据处理4.关闭文件前言我们在编写一些自动化脚本的时候,为了方便,经常需要以txt文件作为数据输入,今天就跟大家讨论一下如何对txt文件进行读取并生成对应的列表等程序可操作的数据载体。开始1.载入文件这步就大家比较熟悉,文件操作中最基本的了。因为我们只需要读取文件,并不需要写入文件,所以在这里指定mode=”r”为只读模式(默认)。f=open(“C:/foo.txt”,”r”,encoding=’utf-8′)此时就有了这.

  • java与c的区别_c 和java的区别是什么

    java与c的区别_c 和java的区别是什么Java和C都是指令式语言(ImperativeLanguage),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象。另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM来解释Java程序,而C、C++、C#则是与平台相关的,有些指令只在某些操作系统中才能执行。具体原因是,Java是解释型语言,所有代码都会翻译成统一的、与系统无…

  • deb文件安装「建议收藏」

    deb文件安装「建议收藏」使用dpkg命令安装.deb文件使用-i参数。sudodpkg-i./google-chrome-stable_current_amd64.deb如果遇到缺少依赖项的任何问题,则必须运行以下apt命令对其进行修复:sudoaptinstall-f要通过dpkg命令删除软件包,我们将使用-r以下示例中的参数:sudodpkg-rGoogle-chrome-stable使用APT命令安装.deb文件使用aptinstall。sudoaptinstall./goo

  • 如何直接运行jar包_怎么运行jar文件

    如何直接运行jar包_怎么运行jar文件怎么后台运行jar包1.后台运行jar包[root@slaver5testshanghai]#nohupjava-jarplaningprojectweb-2020120813.jar&nohup:不挂断地运行命令,输出都将附加到当前目录的nohup.out文件中。如果当前目录的nohup.out文件不可写,输出重定向到$HOME/nohup.out文件中&:后台运行查看nohup.out[root@slaver5testshanghai]#cat

  • getinstance用法作用(rept函数怎么用)

    阅读数:275先举例说明:下面是一个例子,为什么要把这个类实例化?有什么好处?//实例化publicstaticDBConnectinstance;publicstaticDBConnectgetInstance(){if(instance==null){instance=newDBconnect();}returninstance;…

  • 10.22 词法分析程序实验心得

    10.22 词法分析程序实验心得

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号