开始unity学习
前言
手游3D化是大势所趋,目前最流行的3D手游引擎非Unity莫属。虽然cocos2d-x也在做3D引擎,但毕竟会受到原本2D框架的束缚,扩展起来容易捉襟见肘,再加上工具链的严重缺乏,所以cocos3d-x在未来很长一段时间内也无法赶超Unity。我等靠技术混饭吃的人,决不能坐吃等死,在闲暇之余,学习一些新的知识来武装自己。
我很庆幸,前几年一直在折腾3D游戏编程,虽然没能折腾出什么名堂,但却打下了3D游戏编程的基础,这无疑会让我能更快的入门U3D。根据这几天的学习,我看过了一些书和网站,跟大家交流一下学习心得。
1. 先导书籍《3D数学基础-图形与游戏开发》
3D与2D的难度差别不是3-2
那么简单,而是n^3-n^2(n > 1)
的难度差,不要简单的认为3D只是比2D多了一个轴。所以,首先要摆正观念,先掌握3D空间下的坐标变换。不要上来就去看什么几日精通unity,高级宝典之类的教程,那样只会打击你的自信心。
2. 入门书籍《Unity3D 游戏开发》
这本书的作者是宣雨松,他还有一个网站http://www.xuanyusong.com,讲解unity的各种用法。我觉得此书入门甚好,内容也不多,讲述的多是unity的基本知识,浅显易懂。我是每天早上在公交车上一点点看完的,上班没有那么多时间,只能每天早上看一点,坚持了几个星期才看完。由于没什么时间去做练习,很快就遗忘了一些知识,所以后来又针对陌生的章节又看了一遍。
3. 小试牛刀
看完书之后,就可以自己做一个小游戏来练手了,通过做一个完整的游戏,就会发现自己遗漏了哪些知识,带着问题再去看书,就比较容易理解书中的内容了。
建议先从2D游戏开始,最好的练手项目就是打飞机游戏,简单粗暴,上手就能玩。仿做FlappyBird也很好,前几天在网上看到别人做的http://blog.csdn.net/stalendp/article/details/19091899。
我把之前用vc写的一个打飞机游戏,用untiy做了一遍,做的过程中遇到很多问题,主要是动画控制器和碰撞检测不知道该怎么正确使用。现在这个小游戏还不完整,但是可以玩了,先附上源码http://pan.baidu.com/s/1jGxYgLo,后面再出文章介绍实现细节。