我发现身边好多网友,都在学Unity,于是希望能起到互相分享、共同进步的作用。于是记录一下自己的Unity学习路线。
好的地方互相借鉴,不好的地方及时改正、防止走弯路。
我自己目前是想试着制作单机3D ACT游戏demo自己玩玩,因此这个学习路线没考虑网络开发、服务器架设之类的。
一、编程语言
首先学习Unity之前,需要学习编程语言C#,很多人推荐b站刘铁猛、唐老狮的C#课。最先开始我是两个都试着听听看,发现自己更喜欢唐老狮的课,于是后续就只跟进唐老狮了。唐老狮的C#分为入门、基础、核心和进阶,我从吾爱破解论坛白嫖的资源、把四部都学完了。
C#需要学到什么程度?需要把接口、继承、泛型、泛型约束、委托、事件、多线程(等等)都学完,最好再学一些数据结构(比如哈希表、字典),发现后续还挺常用的(写有限状态机的时候用字典很好用,写单例模式基本都得用到泛型),把这些学完基本差不多了。
二、学Unity
之后就去学习Unity,Unity提供了好多封装的方法,学Unity其实主要学的就是核心组件系统和API。我同样是跟着唐老狮学的,把Unity入门、基础、核心、Unity进阶之InputSystem学了。
Unity需要学什么?核心系统:动画系统、物理系统、音效系统、粒子系统等等;常见API:最基础的,Gameobject、Transform、Vector3、Quaternion、旧的输入系统;然后比较常用的一些,比如Physics.Raycast(做碰撞检测常用的功能)、Resources(资源加载常用)。
之后还要学习数据持久化、UI,起先其实我不太想学这两个,不过后来慢慢意识到UI开发、数据持久化还是很重要的,同样跟着唐老狮学的。UI的话建议主要学UGUI,因为最常用。数据持久化,我目前的理解就是保存数据用的,比如玩家存档、装备信息。
三、学习基础框架
这就是我目前的状态了:感觉什么都会、代码也看得懂,但实际开发完全不知道怎么办、从何处下手——乱七八糟的感觉。
这种情况下就要学习基础框架了。比如建房子,工人们都有力气、也知道怎么砌墙,但是不知道要怎么开始,这时候就需要打造地基、设计图纸了,有了地基之后建房子就会容易很多、也有方向了。我同样看的唐老狮的课,个人比较喜欢唐老狮讲课风格。
四、实战案例
其实刚开始时,在C#和Unity只学一点点时,就可以跟着Unity官方的案例做些简单项目,比如“roll a ball”,但是感觉把前三点完成后、找个具体案例效果会更好。
如果打开b站搜案例,多半会推荐siki学院的,我自己也跟着做过,但感觉不推荐。
以前跟着siki看过ACT游戏案例,但感觉和我想要的相比,太拉胯了。比如写第三角色控制器,我想要实现丝滑的跑步、带有急停的效果,而siki的ACT案例却没有这种效果,同时感觉siki的ACT案例代码写得太乱,我觉得应该写个有限状态机会好很多......
后来我忍痛花210买了b站up鬼鬼鬼ii的课程,我的感觉是,学鬼鬼鬼ii的课一定要把前三点学完,否则他在搭框架都看不懂。他的课程,主要看的是一个思路吧,课讲得水平一般,相当于花钱买思路。我存网盘里了,想要看的小伙伴可以联系我分享出去(主要怕直接分享被发现踢出课程...)