学习 Unity 开发接近一年了,从开始对 Unity 一无所知,到现在能模仿制作出一个完整游戏,对个人成长来说,也算是一个不大不小的里程碑。这篇是对自己学习的总结与回顾,希望对 Unity 初学者有所帮助。
我的工作是做模拟集成电路设计,工作中基本不涉及编程,所以代码经验不算丰富。根据我的学习经验,总结出学习 Unity 可以分为四个阶段:
第一阶段: 跟着做。跟着 step by step 教程做,大量做。这个阶段的重点是学习 Unity 各种组件的使用(比如物理、UI等)。此时掌握编程语言最基础的东西就可以了,比如类、控制流、List、字典等。
起步阶段的难度曲线越平越好,在我对 Unity 一无所知的情况下,选择从观看 慕客网 视频起步,开始给自己定的目标很简单:熟悉 Unity 界面(目标就是定这么低)。 两个视频下来,差不多就熟悉 Unity 界面和一些基本操作了。
如果这个阶段你正在看三消、2048 这类靠 UI 和算法支撑的案例教程,希望你把重点放在教程中是如何使用 UI 组件上面,选择性忽略具体算法实现。不然,对于代码能力较弱的同学,分分钟被打击。
第二阶段: 反推。这一阶段先看教程效果,然后反推效果的实现方式,最后研究别人是如何实现的。
这一阶段的效果是,即可以检验你第一阶段的学习效果,又可以加深对 Unity 的理解 。
第三阶段: 模仿。从模仿功能到模仿整个游戏,找你玩过的或者当下热门的游戏,模仿它。
我模仿的 Lifeline ( 生命线 )和 BACK2ZERO。
这一阶段需要自己思考如何用 Unity 和代码把效果实现出来,这会倒逼你去学习 Unity 的使用,以及如何用合适的代码实现想要的效果。通过这一阶段,你对 Unity 的掌握程度和代码水平都会有很大提升(当然,语言高级特性、数据结构和算法、设计模式等这些小怪也是要刷的,了解基本就好)。
第四阶段: Enjoy it。这一阶段你已经能从容驾驭 Unity 和代码,可以自由地把脑海中的想法实现出来,开始享受创造的快乐。我想,做技术的乐趣莫过于此。
其他(非必需):做为有追求的开发者,可以选择继续学习 Unity 的内存优化、渲染优化、资源管理、Shader 等,如果想做出玩法和画面更好的游戏,还要学习 AI、图形学、引擎架构等相关知识。切记,游戏开发最重要的是玩法设计,好想法永远比代码更重要,初学者要循序渐进,千万不要陷入技术泥潭。
驾驭一项技术,无他,善用 Google,多学、多练、多想。 我在豆瓣上维护了一份书单 游戏设计梦想家,欢迎围观。