Unity3D 学习路线与学习经验分享
作者: 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
在开始学习之前, 你需要一个笔记本, 推荐活页的, 就是那种可以拿下来单页的那种, 他就是你以后学习时, 你大脑的硬盘, 笔记法同时适用于世界上的全部科目. 具体怎么写笔记我就不说了, 只需要记住两点:
千万别自以为是的认为自己的脑子很好使, 你不是机器, 写笔记, 必须且一定要写, 不然, 重复查找自己找过的知识点的时候, 你的心态会受到影响, 且会浪费大量的无用时间, 而且千万别用电子版, 记录电子笔记的时候会勾起你 ctrlC+V 的欲望, 表面看, 你节约了半分钟打字时间, 可你没有经过你大脑思考的这一步骤, 会严重影响你的记忆, 而且电子版无法像纸质笔记本那样粘书签, 翻看会非常麻烦, 相信我, 多动手写几个字而已, 不会要人命的.
写知识点的时候千万千万别抄别人教给你的话,(1)一定要尽可能的精简,(2)并尽一切可能用自己的语言表达, 然后把自己的话记录到笔记本上, 否则你就是白写, 没有任何意义.
开始学习 Unity 的几种方向(热手用的入门期, 熟悉者可以跳过)
以下我会给你列举几个我个人推荐的开始学习 Unity 的几个入口, 当然你在学习这些东西的时候, 不要忘了听课(课上尽量不要跟着敲代码, 敲代码会一定程度的影响你的注意力, 而是听出老师讲课的核心, 并把核心知识转换成自己的话, 写在笔记本上); 你可以根据自己的兴趣, 与自己大脑的记忆习惯来选择, 从哪个位置进入. 这几个入口是没有优劣的. 不用觉得哪个入口高大上, 重要的是, 这个入口是否适合你自己, 如果发现听不懂, 认真再听一遍, 如果还是不会, 直接跳过. 不过在学习期间, 你是没精力玩游戏的, 记得删掉你手机与你电脑里的游戏, 等你自己的 Unity 技术足够养活自己了以后, 再用 Unity 给你赚来的钱, 充到游戏里做个天选之人吧.
以下全部视频我都看过, 你大可不必担心视频的质量(我个人在看视频学习的时候, 会同时播放一些没有人声的轻音乐, 来降低困意)
1, 暂时比较厌恶或者恐惧代码, 以及零基础的人
傅老师的 Unity3D 教学
https://space.bilibili.com/211153830/#/channel/detail?cid=24151
这个系列是通过插件的方式, 来尽量绕开代码这个大难题的(当然不代表完全没有), 让你在不太了解代码的情况下就可以基本操作 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# 高级篇那么难了, 认真听就能会) https://www.bilibili.com/video/av31662145
[郝斌] - 数据结构入门 (学历不高, 但讲课极其精辟的一位老师, 喜欢听白话讲课的人非常推荐, 推荐上下两位老师一起结合着看, 你会有非常高的收获)
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 图与简单的文字归纳出来的一种代码结构思想. 在学习这里的知识点的时候, 如果突然有一种,"卧槽, 在我学设计模式之前我就用过这模式" 的感觉, 说明你在之前的练习中, 真的用心去思考问题了, 是一种非常很好的现象; 在学习设计模式的时候需要注意几点.
这不是考验记忆力的学科. 设计模式不要死记, 重要的是学会他构建代码时候的书写模式.
不要任何地方都想用设计模式. 学会设计模式后, 宁可不用也不要滥用设计模式, 不然会让你觉得束手束脚, 无从下手, 当你有了大量的代码练习基础后, 你就会明白模式的好处, 与应应用的场合了.
不要觉得设计模式中的例子就是绝对正确的. 有时候设计模式中举的例子, 并不一定是你的项目中真正需要使用的书写方式, 千万不要被他的例子束缚住.
以上三点虽然我说的很轻松, 但是想真正做到这些, 没有大量的实验与使用基础是不太可能做到的, 不要有太大压力, 慢慢来别放弃.
因我自己学习时使用的是 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 数学
JSON 数据持久化 想将数据保存在硬盘里? 学这个吧.
uLua 热更新 链接: https://pan.baidu.com/s/1kUIZMcB 密码: x12i
网络链接 .NET 或者 PhotonServer
结束语:
如果你真的按照我说的做, 并且认认真真按照我说的路线与方法学了下来, 谢谢你愿意相信我, 也愿意相信你自己. 带着你努力的成果与这股学习力, 去找工作吧, 社会不会辜负愿意努力的人.
来源: http://www.bubuko.com/infodetail-2931030.html