Unity3D 新人学习的一点感想
想到那里写到那里吧
1、Unity3D的优点大家都知道:组件化、c#语言、可见即所得。
当初刚开始学习的是cocos2dx,c++的货,觉得还是写的不错的,也是国人开发的,真的代码很容易懂,直接看引擎源码看懂都不难,当时主要是纠结cocos2dx几个问题:
A、c++语言毕竟不是自己经常使用的语言毕竟自己是一个人学习也是不是圈内人,C++调试和测试总体工作量还是很大的;
B、没有可视化的编辑器,没有控件一说(现在不知道怎么样了,毕竟.net出生的,用代码来拼2D的UI总让人有不爽的地方);
C、跨平台支持不方便;
D、当时看到Unity3D,组件化的功能设计当时确实眼前一亮,觉得甩了了Cocos2dx好几条街的样子;
E、目前看来转Unity3D的原来越多,至少是在博客园看到Cocos2dx的少了;
2、优点即缺点,同样适用于Unity3D
A、组件化编程这东西确实高大尚,不过实际应用到自己的项目或者自己来搭设一个框架其实挺难的,看了些Unity3d网友教程或者小项目,这东西用不好组件之间的双向引用很严重,让人很不爽;
B、所见即所得,这个东西大家都喜欢,但是新手调一下U3D就知道了,摄像机的位置及xyz那个坐标实在太不好用了(至少我现在没有找到怎么恢复默认值,知道的大师麻烦回复下),调2D的时候经常反过来(可能是视角对着摄像头了),而且使用编辑器做UGui,或者NGUI感觉也不是那么哈皮,有时候觉得C++中那个通过xml来组织UI的方式才是最终的进化;
C、上帝模式比较多有一些标准的插件和第三方的插件,Editor,Asset什么的,这些对于老手来说可能便捷很多,但是对于新手以我的经验绝对不是什么好事情,这个有点像以前.net中的winform和webform的感觉,所有的东西拖拽就能搞定,但真要让你读一下插件源码难得让你蛋疼,更不要说扩展代码了,总体这种模式照成的结果就是入门容易,拔高很难;这里接合A本人不得不吐槽一下关于U3D中的自动Public 字段在面板拖拽赋值的功能,首先这个破坏封装,其次这个要求对于插件有很深入的了解,不然用起来报错以后很难定位(这里想问下有没有什么特性,标志这种Public field是必填的)至少我用一些插件主要的问题就是没有赋值;
如何恢复默认值?
为什么总是反过来?
这么多窗口在一起看着爽吗?
D、国内环境很不好,几个方面吧,学习的很多新人C#语法.Net基础都很差,目前C#语言的发展早不是头几年了,一些语法糖理解不透彻。这些新人发布的一些教程,个人秀代码很多都是很浅实际参考价值不大(比如一些U3D设计模式之流写的太没有深度了);一些视频教程,入门可以,但是实际在项目中的意义真的不大;还有就是大量的书籍,读了2本,还是评论写的不错的,写书的老师应该是还是有些水平,但是写书挣钱的原因,篇幅,难度的限制,写的也都很浅,只能说泛泛;
最后
国内目前视频教育挺火的,其实是好事情,免费看贴的日子其实对于作者是不公平的,为什么总是要求别人无私的付出劳动,毕竟大家的时间都很宝贵?但作为IT行业的一个细分领域,游戏开发确实是有一定深度的,所以不要想着看看视频,看看教程就能作游戏开发了,毕竟工具还是工具,游戏开发的业务本身就是一套学问,有一套体系。做为一个新人,想把游戏做好我是觉得很难。也希望各位同志能努力学习,提高国内教程、视频、博文的质量,各位看官在获得知识的同时也能慷慨些,创造一个良性的生态系统,个人见解欢迎牛人拍砖。