找回密码
 立即注册
查看: 672|回复: 12

[简易教程] 关于Unity的学习我的路线是否合理,应该怎么改进?

[复制链接]
发表于 2021-1-11 10:52 | 显示全部楼层 |阅读模式
关于Unity的学习我的路线是否合理,应该怎么改进?
发表于 2021-1-11 11:01 | 显示全部楼层
首先为题主严谨认真的学习精神点个赞。
目前的学习路线作为Unity初学者来说并没有问题。
只是游戏开发这个领域并不是那么死板,想实现一个需求并没有唯一正确的答案,多数情况都是根据项目有不同的方法。
而且从其他答主的回答你也可以看到,游戏开发所用到的知识和技术非常之广,想要在自己动手之前对所有方向都有所了解不太现实。
哪怕你真能一口气看完庞大的Unity官方文档,最后动手的时候大概率也会给忘了。
所以建议就是当有一定基础,基本了解Unity的使用方法和C#语法后就可以开始着手去做了,过程中自然会遇到很多问题,那时候再针对性的去深入一点学习与其相关的知识。
要做的东西应该是自己感兴趣的方面,定下一个小目标,比如:我想做一个3D的魂斗罗。然后就可以找素材、搭场景、写模块,一点一点做起来了。
带着问题去学习的效率是最高的,小游戏实例视频能给你的是别人在实现这一类功能时的参考方法,最重要的还是自己思考得来的答案。
发表于 2021-1-11 11:03 | 显示全部楼层
路线OK!~
补充一下我之前的一篇答案,内有稍具体一些的路线可以供你参考:Meta42:如何学好 Unity?


这里还有一些教程,也提供给你,希望能帮到你:游戏开发入门指南
发表于 2021-1-11 11:06 | 显示全部楼层
赞同@FXCarl 的观点。
unity只是个引擎工具,掌握好基础上手是很快的。
本人电气专业,也题主一样没计算机基础,有幸进入一个计算机实验室,开始接触学习unity。
关于C#:
<<C#入门经典>>到200页才讲到类,这才刚刚开始呢。不过这本书后面一大堆关于widow编程的内容,和unity没什么关系。个人觉得《c#图解教程》更好一些,过完这一本,对C#有个大概的了解了。
后续:《深入理解C#》等
学到这,你可能就会有些疑问,什么是静态类型语言,什么是动态类型语言,强类型,函数式等等
这时候你就可以开始补一部分基础了,了解一下Python,C,HasKell等等。
《七周七语言》,
程序语言设计—实践之路,
编程语言实现模式。
如果看得还有些懵懂,再把编译器设计,编译原理方面的基础知识补补。

关于unity:
游戏引擎把许多底层封装,让你调用API实现游戏。但是不往底层挖一挖,怎么有脸跟着轮子哥看漂亮妹子呢。
贴图往模型上拉,unity是怎么渲染好的呢? 这时候就可以了解一下shader,渲染流水线等。(图形学方面)
除了渲染,unity还有很多值得深入了解的,游戏中敌人AI(如何自动寻路,如何对玩家发起攻击等),物理引擎(模拟重力,刚体碰撞,弹性体碰撞)等。
叶劲峰老师翻译的《游戏引擎架构》是本不容错过的好书,其本人也在知乎有很多好答案。
学习上面内容,没有算法和数据结构的基础是不可能的。所以还是得打好基础啊。
大话数据结构
算法第四版
数据结构与算法分析
算法导论等
还有很多数据结构和算法的MOOC。

网络:
你可能想,光做个单机游戏有什么意思,我想和朋友一起玩。这时候得补计算机网络的知识了。
计算机网络:至顶向下
图解http
图解TCP/IP等

都学到这了,不可能对计算机都不了解啊。
计算机组成与设计
深入理解计算机系统等

还有操作系统也接着补补,
现代操作系统等

什么?shader和算法看不懂?那接着补数学吧,线性代数,微积分,离散数学……

真是无穷无尽呀⊙▽⊙。

最后选一个最感兴趣的方面深入了解吧,图形渲染,AI,服务器等等。
(手机码字,排版真是渣,见谅)
发表于 2021-1-11 11:13 | 显示全部楼层
哈哈,和题主一样从电子专业出来做游戏。

路线没啥大问题,就是看视频的时间可以少点,你有C/C++基础,专门看C#的时间也可以少点,多做做U3D示例就能慢慢体会,当然C#原生编程多看看也无妨,至于unity手册,你大可用的时候再去翻……

以个人经验,看视频是相对来说比较慢的,但也比较直观,可以作为辅助学习,在此建议想看视频的话,搞个翻墙软件,去看youtube上一些爱好者制作的使用unity重现某款游戏的系列视频,比如Recreating Pokemon Go系列等,一方面老外的分享精神更足,愿意分享一些比较核心的东西,另一方面他们的视频中写的代码大多比较规范,对于我们这种没有系统的上过专业课程的人,会有很大的启发。

我的老大说过一句话“为何做游戏花的时间长,因为游戏不是软件,是种类似艺术品的东西,需要时间打磨”(好吧,虽然是商业性很强的艺术类别,而国内大部分做游戏的恐怕也不是打磨品质23333),所以做游戏是个涉及领域比较广的领域,因此尝试自己制作一些美术资源并放在游戏中看看效果,有助于你体会游戏开发的过程,编程编久了会累,做点艺术性的工作还能缓解下疲劳。

因为有C/C++基础,C#其实不需要花太多的时间去细看,在实践的过程中你自然会体会到其特性,看书的话,作为入门,我只建议一本
Unity游戏设计与实现 (豆瓣)
十个例子,由浅到深,涵盖u3d的大部分组件的应用,里面的一些方法甚至对实战开发也有参考价值,看完并实践后对u3d的了解的面就已经比较广了。

这个过程中你可能还需要一些理论性的参考读本,比较重要的是
3D数学基础 (豆瓣)
大话数据结构 (豆瓣)
这些书基本上大学图书馆都有,当然自己买价格也不贵,都是实用的工具书。

此外,鉴于你对算法不熟悉,我建议在闲暇时间去leetcode刷刷题,用C/C++来写,有助于以后理解游戏中应用的一些算法。

做完Unity游戏设计与实现 (豆瓣) 上的例子,并有一定的3d数学基础和数据结构基础以后,你就可以思考下在哪些领域你有兴趣深入一下,3D图像?AI?性能优化?物理引擎?亦或是游戏玩法逻辑?等等(游戏开发真是知识涉及范围很广的领域), 有了经验,我相信你会找到哪个方向是你喜欢的。

有关是不是要学安卓,我个人觉得并不重要,PC端/手机端的游戏类型你都可以去尝试,不要把自己限制的太死,你喜欢鼓捣下动作游戏,就去PC上大展拳脚,你喜欢益智类或者创意性游戏,也不妨去手机端上试一试(陀螺仪、运动检测器等都可以用作你游戏的辅助工具)。

还有就是Unity仅仅是个工具,有兴趣,pc比较给力,自己碰一碰ue4也可以。

最重要的还是实践!有些东西看书不直观,实践就是踩坑,比如万向锁这种问题,你没有做的足够多,多到哪天让一个物体的y轴旋转了90度,你可能都很长一段时间都不知道这个坑。写shader,说不定照着书写都要出问题。踩了坑,才会想去解决,才会学到新的东西。

在国内,踏入游戏行业,你需要做出一些努力和牺牲,但无论如何,祝你好运!
发表于 2021-1-11 11:16 | 显示全部楼层
路线没有问题,但是建议提高实践操作部分的比例,视频可以少点(因为以我的经验来说,视频看起来有点慢……不如看书或者看资料来得快)

然后就是做了之后,再去复盘,想想那里可以做的更好,从实践出发深挖知识点
发表于 2021-1-11 11:22 | 显示全部楼层
彻底搞反了。快去搞数据结构和算法去。
发表于 2021-1-11 11:29 | 显示全部楼层
开发了一个Unity学习路线的小程序,欢迎使用反馈~
从题主的问题可以看出来是真心想学Unity3d,想开发自己的游戏
而且思路很清晰


我有一点小建议:
找到一个时间点慢慢脱离视频教程,主要精力放在构建一个全新的项目上,用问题驱动的方式来学习,最终要学会解决问题的能力(搜索解决方案能力,特别是英文搜索)
发现自己的弱项在哪,然后再找办法补足


C#语言也不用深入去学习太多高级特性,一方面是Unity中的Mono环境有限制,一方面时间投入回报率相对较低。了解C#基础就可以写出99%的代码了。
建议在VS中安装Resharper插件,可以提示代码中可以优化的地方

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-1-11 11:29 | 显示全部楼层
如果还是大学生,这样子没啥大问题,只是我建议你在学习过程中提炼自学技术的方法论,为了之后学习新技术不再像这样慢。

如果已经工作了,你就不能这样学习一门新技术。理由很简单,没这么多时间。一个小游戏的视频不可能有看两遍且实现两遍。手册更不是用来通读的。
发表于 2021-1-11 11:34 | 显示全部楼层
不用刻意划分比例,看书看腻了就实践,实践累了就看书。

既然你已经有编程基础,又有做游戏的动力,那么这两条路线,每条只需一两周就能走完,加起来不超过一个月的时间。通通都走一遍也无妨。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-18 07:13 , Processed in 0.099299 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表