MMD联动Unity学习笔记 Vol.33 对新人学习Unity的建议

前言
Up学习Unity已经有一段时间,说不上对Unity有多了解,皮毛还是粗略懂点,这期跟大家分享自己的一点学习心得,也是对学习的情况进行的总结。当然这些也只是Up个人的一些不成熟的经验和看法,对于新人来说可能会有用,各位大佬们请绕行吧。

确立学习的方向
Unity早已不是以前那个单纯只能做游戏的引擎了,它现在涉及的领域越来越广,我们在官网上就可以看到它的标签不只局限在游戏了。Unity实时工具可以让你自由灵活的在游戏中创作,为所有行业和应用提供了难以置信的可能性。

Unity包含的功能现在也是越来越多了,我们首先要想好自己学习的路线。比方我们想了解Unity的动画制作,我们可能要除了学习Unity基本的渲染,灯光,材质,Shader,动画系统 等,另外还得学习Timeline,Cinemachine等一些动画相关的内容。
学习的路线我们在随着对Unity逐步了解之后也会越来越清晰。另外,要想清楚自己的需求和所学的内容是否有关联,而不是不管三七二十一,也不知道自己能不能用到就先去学。

学习的途径及资源
当今的互联网,学习的途径实在太多了,但是大多知识都非常零散,没有系统,所以很多新人入坑时时常会摸不到头脑,不知从何开始。
首先,我们需要对Unity有一个系统的全面的了解。Up在B站收集了一些专栏可以给大家参考。




学习资源的选择和侧重
有了方向和资源我们开始着手学习,这里我们还应该对学习资源进行一些甄别。学习资源也有高低优劣之分,有些书或视频太过冗长,或许干货也不多,所以我们在学习的时候也应该体验一下,资源的内容质量怎么样。另外有的书知识点很多,却没有重点,这也是学习时另人困扰的地方。还有的资源不符合你现在的水平,过于高深,难得地方我们也不要使劲地啃,这说明现在的水平可能不够,等有了足够的经验再回头来看可能就容易得多。
对于基础比较薄弱的新人,开始的时候看视频教程是比较容易理解和学习的。但是这种方法的实际学习效率并不高,所以等我们有了一定基础后,还是比较推荐看书或者看技术性文章。如果非要看视频,Up还是建议去看比较有营养干货充足的视频。
Up的建议的学习资源类别的侧重,当然因人而异,不是绝对的。
官方 > 非官方
书籍 > 文章(系统)> 视频 > 文章(零散)

辅助学习工具
学习和复习是相辅相成的,所以笔记也就是我们学习的一项重要工具。现在电子笔记的种类不少,就算是免费的功能也不错。比较常用的有印象笔记,有道云笔记,OneNote等等,具体的使用方法,同学们可以看看下面视频。


另外,思维导图可以加深对我们学习知识点记忆和掌握。Up也建议使用思维导图来提高我们学习的效率。常用的免费App有幕布,百度脑图(PC端)。
上面的App除了百度脑图以外,都可以在手机和PC端自由切换(个别有连接端数量限制),免费版在流量方面有一定限制,如果不导入大量(图片,视频)资源的话,基本都是够用的。
B站还有一些非常实用的笔记术和学习方法,这里就不贴出来,同学们自行搜索吧。

建立资源库
首先注意,我们这里说得并不是项目中的Asset文件夹,而是自己建立的文件夹。
项目的搭建其实就是资源堆叠的过程,积累资源可以方便我们随时调用素材。
比如我们某个教程需要天空盒图片,我们这次项目中用过后,我们再复制一份到自己的资源库中,下次使用时,我们可以直接从资源库中取出,十分方便。我们还应该对资源库分门别类,比如模型我们可以放入Model文件夹里面,纹理素材我们建立Texture文件夹,代码文件我们再建立Script文件夹等等。
另外我们要区分自建资源和其它资源,方便学习和项目的区别使用。

应对疑难和BUG
程序猿经常说写得不是程序,是BUG。看似调侃,实则内心真实写照。对新人来说,Bug更是脱坑劝退的最大素因。然而,除了Bug,Unity还会出假死,崩溃等问题。Up在这里例举一些解决方法,同学们可以参考一下。

认真仔细彻底地按照教程的流程,来检查一遍。到底是哪个代码写错,哪个步骤错了,也许某一行代码只写错一个字母,那么运行时也通过不了。
使用搜索引擎寻找解决方法
一般来说,你遇到过的问题,其它人基本上都已经经历过了。那么在搜索引擎里,一般都可以找到解决的方法。
其它解决途径。我们还可以在官方论坛,知乎,CSDN,Github等地方找到解决方法。
最后的方法其实是Up最不推荐的,但如果上面的方法都没有找到解决方法,那只能选择这条了。
向Unity技术交流群的技术大牛请教。
在知乎,各类论坛上发贴提问题,等大神问答。
总结下,我们在学习和使用Unity后,各类Bug和疑难问题随着时间的推移一定会层出不穷。如果你不能果断的解决它们的话,Up还是劝你换个其它的东西学习也许能轻松点。如果你每次遇到问题都要找别人帮忙的话,那你的技术提高的会很慢。所以,学习Unity还是应该尽量独自解决问题,这样才能加深记忆和理解。

Unity常见的问题和特点
版本
Unity现在版本迭代的速度非常快,一般建议你在电脑上安装两个版本的Unity。一般安装一个最新版的Unity用来学习和试验新的功能,这个版本不建议用于项目中,新版的BUG和问题可能比较多,操作错误可能导致项目出现问题无法挽回。(关于项目管理以后有机会再说,现在先不研究)另一个版本用于自己的项目或者学习,一般安装LTS(长期稳定版本)。或者我们也可以再进一步把项目和学习的Unity版本区分开来,现在UnityHub已经是官方默认推荐使用的功能,它对项目的(版本)管理和学习十分方便。
Unity的各版本之间有不少功能差异,这些差异对学习来说,多少有些让人困扰。所以我们在选择学习Unity的版本时,一定要注意教程对应的版本。尽量选择版本相同或者差别不大的,这样我们可以更加容易找到功能设置的位置。
插件
另外,安装和使用插件时也要注意Unity的版本,哪怕是Unity官方自家的插件也不能适配所有的版本。有的插件一段时间不更新,有时你更新Unity的版本,发现插件突然间GG了,你心里……所以对于版本更新我们要谨慎。如果学习还好,项目就要多加注意了。
过时的方法
有一些过去的教程里面(或者案例)工程等,有某个过时的方法,在新版Unity里面报错,这样的东西对于新人来说很难解决,所以我们学习的时候应该尽量选择比较新的教程。在学习一段时间后,我们学会自已查官方文档,就可以找到替代的方法。
假死
Unity在某些操作时,可能出现假死的问题。很多时候更多的是卡顿,一时间没有反应,但并不是崩溃,所以不要轻易以为Unity卡死了,你需要给它一定的缓冲时间。某些开关开启或关闭时,第一次都需要一定时间,等下次操作时,它就不需要等待了。

电脑的配置需求
首先,Up得自己打脸,之前专栏说Unity不要求配置,现在看纯粹口胡。Unity要想实现不错的效果,电脑配置一定不能差了。不管是烘焙还是实时,哪样都在严酷的考验你电脑的性能。总之,氪金会给你的生产(创作)的效率取得回报的。

英语的重要性
之前一些在网上培训机构看到鼓吹英语不好学Unity也不成问题。随着学习的深入,你会发现英语差的弊端会逐渐凸显出来。也许你说有人英语好,Unity也没看见很厉害。但是英语好的话,学Unity必然是更加容易的。
首先,界面操作这语言关过了上手就方便。在代码方面,不会英语理解起来就慢半拍。接着,官方的技术文档,这种实用的核心技术直接关系到水平的提高。你要说我有谷歌,我就无语了。
所以,Up的建议,如果你不讨厌英语的话,如果想学好Unity的话,还是尽可能提高一下你的英语水平,先不提听,说和写,最起码你可以看得懂。视频的话,油管的官方视频通俗易懂,简明扼要,质量非常高,而且有英文字幕,是Unity入门最好的途径。

对新人的建议
技术的发展是日新月异的,随着时间的推移,Unity的功能越来越多。不管从哪个方向去学习,想要掌握这些知识正变得越来越难,学习的成本也是非常巨大的。所以我给新人的建议有几点:
有韧性,有毅力,能坚持学习
善于发现问题,解决问题,培养独自思考的能力
勤学勤实践,不能只学理论不实际操作
能够接受并敢于接受新事物,能以变化的眼光看问题
不定时(或定期)复习,检查笔记
除非你天资过人,Up基本可以保证,用不了多久你学的东西基本都会忘光的。所以我们要时不时翻出以前的笔记温习,这时我们的电子笔记就发挥作用了。
用只言片语或图片等方式记录你的成果
你可以把它们发到你的QQ空间或者微博等地方。如果不想骚扰别人可以设为私密内容。这一方面是对你所做的成果有些许成就感,一方面是对记录学习的轨迹,时不时翻看可以回忆一下,哪些知识点已经模糊,然后想着去复习。
用日志记录
写专栏是Up的一种特别的学习方法。因为这个东西写出来,你自己必须完全了解并实践过,然后写出来加深对它的理解。就像一个比喻,有一个知识点,如果你能够用自己的语言(理解)教会别人,那么就证明你已经从根本上掌握它了。
时间规划
上面也说了,不管你从哪里入手学习Unity,学习的时间成本都是巨大的,所以既然想学好Unity,必然要有一定的学习计划,这样才能取得一定成效。关于时间规划Up这里点到为止,B站上有很多这方面的视频,想了解的搜索下就能找到。
上面的建议Up觉得它不仅仅适用于学习Unity,我们学习其它软件的时候也同样差不多可以适用。当然,这些只是Up个人的不成熟的经验总结,可能也有很多建议不适合你,也或者你有更好的想法和做法,欢迎小伙伴们在下面评论留言说出你的看法。

最后,Unity与你我同在