很多小伙伴想进阶Unity主程,进阶Unity架构师,不知道要学哪些知识,今天给大家分享一下比较完整的知识体系,Unity学习路线,介绍一些有干货的博主与教程,给大家做参考。
不管你是已经工作了,还是正在学习中的Unity初学者,如果你想在游戏开发行业中有更高更远的发展,请用五分钟阅读下面的文章。
Unity User Manual 手册
Unity - Scripting API(API 详解)
Unity - Learn - Modules(官方视频教程,适合英语好的同学)
下面是收集的一些不错的视频教程,对照目录可以选择自己合适的教程观看
从浅入深,菜鸟也能学!
(2)掌握常用的数据结构,熟悉每种数据结构背后的实现原理与性能细节: List, Hash表,队列,栈,链表,字典,树,图等;
(3)了解常用的一些算法思想: 分治,动态规划,贪心算法,穷举,预先计算与查表,搜索,排序等。
Unity基础篇
Unity:安装环境与职业规划篇
Unity:Unity2D游戏实战《飞机大战》
Unity 0基础项目实战《极品飞车》
Unity:Unity RTS游戏实战系列
(2)熟悉Unity引擎中的各种工具的使用: profiler, stats, frame,debugger, log等;
(3)熟悉Unity编辑器扩展机制来定制开发流程与相关工具:关卡编辑器,地图编辑器,代码自动生成等。
(4)熟悉Unity的跨平台的开发与调试:基于编辑器/iOS/Android/win/mac等平台如何开发与真机调试。
(5)熟悉常用的iOS开发与Android开发的一些核心概念与机制:Activity,OpenGL thread等。
(6)熟悉Unity的各种资源加载策略的机制与用法: Resources, AssetsBundle,StreammingAssets等。
(7)熟悉基于Unity组织大型游戏项目与分工合作的工作展开:美术,程序,策划如何同时开发,将相互影响降到最低等。
(8)熟悉Unity的各种配置与相关参数对游戏与性能的影响:物理引擎的参数,编译的相关参数,unsafe code的相关参数等。
(9)熟悉各种游戏常用的算法原理与方案:寻路导航,网络,http,AOI, ROV动态避障,定点数物理引擎,程序生成地图,行为决策树,状态机,流场寻路等。
(10)熟悉常用的解决方案,框架库,开源项目:
Lua热更新: xLua, ulua;
C# 热更新: ILRuntime,huatuo/HybirdCLR(wolong)
Json文本序列化与反序列化: LitJson库;
二进制序列化与反序列化: Protobuf;
资源管理: YooAssets等;
CSV表格数据管理: CSVParser, Flash闪表工具等。
(11)Unity DOTS 开发: ECS, Burst等;
(12)操作系统的基本知识:文件读写,多线程与同步,虚拟内存,垃圾回收算法等;
Unity:精选推荐
打造基于MVC的UI框架
自己造轮子,打造Unity定时器框架
UnityWebRequest网络通讯全功能详解
Unity客户端网络架构设计与实现
两小时搞懂ECS架构
架构师面试必备:向前渲染管线详解
2小时搞定DoTween在商业项目中的使用
向前渲染管线核心解密: 3D阴影的核心原理
战斗系统核心技术之《3D角色的UI血条架构与设计》
游戏战斗核心技术:攻击技能架构与设计
Unity如何打造商用框架
独立游戏《Unity打造关卡编辑器》
腾讯内部技术:任务系统的架构与设计
Unity 框架设计(四) 基于Excel数据驱动框架
打造基于AStar的寻路导航系统
打造基于xLua热更新框架
huatuo 热更新原理与实战详解
两小时带你搞懂ILRuntime热更新
行为决策树实战详解
程序员如何写简历拿高薪Offer
面试必问: 手写Unity协程
1~3年Unity开发人员跳槽规划与面试准备
面试经典:PBR渲染流程详解
一节课搞定C#反射底层原理
算法面试专题:穷举法解决排列组合问题
字节跳动面试题:Unity底层如何处理C#
a:给项目组的开发人员来合理的分配相关任务;
b:追踪相关进度;
c:引入系统测试与全平台测试,尽快更近问题;
d:建立测试case与bug库记录,记录下现在有的bug与解决情况;
e:阅读团队其它成员的代码,必要时调整重构,确保代码的质量;
《王者荣耀》UDP帧同步全流程详解
MMORPG核心技术:背包系统的设计与实现
MMORPG核心技术: 地图辑器制作与服务器上跑地图
MMORPG核心技术:基于Ghost与控制分离的角色管理
MMORPG核心技术分享:逻辑服的ECS架构与设计详解
基于ECS的技能释放与Buff管理
MMORPG核心技术:状态同步的核心技术解密
MMORPG核心技术:AOI算法源码分析与详解
网络同步:《王者荣耀》如何制作的
千人战斗场景优化
UGUI的DrawCall优化
Profiler与stats性能剖析工具详解
游戏程序员优化指南
Unity面试经典:如何优化Drawcall
打造赛车游戏氮气加速特效
Unlit渲染管线全流程详解
Shader进阶:PBR渲染流程详解
Shader进阶:法线与点乘的妙用
Shader进阶:基于逐像素的兰伯特光照
TA Shader进阶:布林冯高光模型详解与实现
渲染队列,ZTest, ZWrite
趣味Shader系列: 3D涂鸦原理与实现
Unity轻量级渲染管线LWRP核心解密
Shader进阶:打造游戏宝石特效
Shader进阶《顶点正弦波》
Shader进阶之打造Voodoo风格游戏水面
TA技美:进阶篇
通常一个新手在学习Unity开发的时候,往往会选择买书去学习,首先这样的学习效率是非常差的,比如在学习C#的时候,是完全不用看书的。书上大多数都是理论知识,你并不知道哪里是重点,所以每个人地方你都会去看,但是事实往往是大多数东西你都不理解。你想要通过书来学C#,可能这本书半年你都看不完,就算看完了又能怎么样,看一遍不可能会,很多人就会选择重复去看,不仅浪费时间,效率也不高。这种学习方式是非常不可取的,你没有那么多时间来学习编程。
这是新手在学习Unity'的时候常见的问题,也是大忌,很多人都说,我课程听懂了,但是自己不会动手写,这首先就是学习方法的错误,这是新手学Unity的大忌,不去动手写,不去跟编译器和开发环境做斗争,你永远不知道游戏开发过程中的**事情。
既然你选择了学习Unity,就应该知道,我们这行需要不断去学习新的东西,拖延会让你成为一个真正的“码农”。这也是影响N多人不去学习的理由。解决的办法只有一个,马上去做!一旦你开始去做了,你就会发现一切没有那么难。你的计划再完美,你选的Unity书籍再经典,你挑的Unity视频水平再高,如果你不马上去看,去学,去动手实践,那永远也只是停留在空想的阶段。成功学习的典范就是成功战胜拖延症的典范。
学习Unity专业知识,不是都靠自己顽强的意志,更多的是需要跟别人交流,重要的就是跟比你强的人交流,加一些氛围比较好的Unity交流学习群,或者别人的一句话就能让你茅塞顿开,学技术切记不能闭门造车,学习的大忌。
我这里有一个学习氛围特别好的Unity学习小组点击加入,里面聚集了一帮热爱学习Unity的零基础小白,也有一些正在从事Unity游戏开发的技术大佬,欢迎你来交流学习。
遇到问题的时候,不假思索「百度」,但是很多时候我们是浪费了大量的时间,也搞不清楚自己的问题在哪里。当然了,我这里特指“Unity初学者”而不是已经工作中的人。那些已经在做Unity工作的人当然很多问题都要自己解决,但是对于一个Unity新手来说,能找老师尽量找老师,很多问题我们新手不必浪费太多自己的学习时间,因为那样的效率太慢了。
大家记住,对于Unity技术性的书籍,绝对不是让你一页一页去看的,像是完成做一样。有一句话说:温故而知新,可以为师矣。学过的知识点,你时常去复习一下,你每天都见到你自然就记住了,而不会像很多人说“学了就忘”你不总去回顾,那能不忘记吗?不如有意识地总结回顾看过的Unity书,学过的知识。只需要每晚趟在床上的时候,回想一下今天都学到了什么?今天自己有进步一点点吗?
一个优秀的游戏开发者,没有什么聪明人,他们都是一行一行代码积累出来的,对于一个Unity初学者来说,如果你想要找到一份不错的Unity工作,你只能是大量的练习,形成一个好的学习习惯。在初学阶段哪怕对着书本敲也没有什么问题。认真完成书中留的习题,在自己没有尽最大努力的情况下面不要去看答案。不要怕犯错,每一次犯错都是自己进步的机会。
每天把学习中遇到的问题最后的解决方案总结一下,想想为什么出现了这个错误,加深自己的印象,是什么导致了这个错误,犯过一次的错误就尽量不要犯第二次,导致错误的根本原因是什么。是自己的逻辑混乱,粗心大意,还是程序太复杂?
一个学习习惯好的人,做什么事情都会有一个明确的计划,对于一个Unity初学者来说,一份好的学习计划是你开始的前提,因为学习一个东西最怕三天打渔,如果能够持续地学习一个东西,我可以把它学习地很好。这时候,你就应该结合我自身的情况,选择一段最佳的学习时间,在这段学习时间里我可以不被打扰,保持高度专注。比如每天早上6.30起床看一个小时书。
对于电脑工作者来说,多参加体育锻炼,多去户外走走,运动能够增强人的记忆力,并且有时候还能产生灵感。如果身体不好,你的学习效率会非常低,人的精神状态一旦非常好的时候,做什么都会如鱼得水。想要成为大神,身体好是前提条件。有人30岁成为大神,我资质不好,我35岁成为大神总可以吧。切莫在30岁的时候就把身体弄跨了,然后35岁转行了,永远失去了成长为大神的机会。
一个NB的Unity开发者,一定是一个很会思考的,有能力就多写博客,多分享自己的所学所思,只要你能写出东西,不怕你写的太低级,这些对于学习者自身也是非常有益的。通过用别人能够理解的语言来解释你学到的东西,本身就要求你对该知识充分理解。另外,很多人经常感叹「跟你讨论一下,我马上变得有思路了」,这其实就是交流的作用。
最新游戏资讯论坛
推荐一位Unity干货博主Blake老师
上面的课程大部分都是他免费分享的
不管是对刚入门的小白或者需要提升的各位来说,他分享的课程都是干货满满的
当然他还有系统学习班,有需求的同学可以去了解一下
这里要注意,对于学习,热情这个点真的是非常重要的。无论你的热情来源是什么,有了这份热情与激情,你才会主动投入更多去学习游戏开发。正是这样,才能真正做到持之以恒。
游戏开发和文学创作,音乐创作一样,都是创作作品。我们作为一个凡人,更希望的是作品能够得到正面的关注,这样才能让我做出更好的作品,也让我更有动力去创造和完善我的作品。
谢谢各位能看到这里,希望这篇文章可以给你指向一条不错的游戏开发之路。
以上,共勉