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行业的一个细分领域,游戏开发确实是有一定深度的,所以不要想着看看视频,看看教程就能作游戏开发了,毕竟工具还是工具,游戏开发的业务本身就是一套学问,有一套体系。做为一个新人,想把游戏做好我是觉得很难。也希望各位同志能努力学习,提高国内教程、视频、博文的质量,各位看官在获得知识的同时也能慷慨些,创造一个良性的生态系统,个人见解欢迎牛人拍砖。
Unity3D 新人学习的一点感想的更多相关文章
- Spring学习的一点感想
最近在学习Java体系的一些框架,先把SSM先学一遍吧,不得不说经典的Java体系带给我的冲击还是比较大的,这里不记录框架的一些实现细节,那些都记录在笔记里面了,这里记录学习 Spring 体系的一些 ...
- 学习javascript 的一点感想
原文:学习javascript 的一点感想 //动态性是指,在一个Javascript对象中,要为一个属性赋值,我们不必事先创建一个字段,只需要在使用的时候做赋值操作即可,如下例:var obj=ne ...
- 开启unity3D的学习之路
2014年5月11号.我開始了我的Unity3D的学习之路.我将在此记录我学习过程中各个进程,这样在将来的某天,自己忘记了某部分内容时.也能够回过头来复习一下.
- 从零开始,SpreadJS新人学习笔记【第3周】
表单&函数 阔别多日, SpreadJS新人学习笔记,本周起正式回归!(在断更的这一个月中,我为大家先后录制了14期SpreadJS产品入门系列学习视频,希望帮助那些正在学习和使用 Sprea ...
- 最近关于Qt学习的一点碎碎念
最近关于Qt学习的一点碎碎念 一直在使用Qt,但是最近对Qt的认识更加多了一些.所以想把自己的一些想法记录下来. Qt最好的学习资料应该是官方的参考文档了.对Qt的每一个类都有非常详细的介绍.我做了一 ...
- 关于Python学习的一点说明
关于Python学习的一点说明 我是用什么地方的资料来学习python的呢? 答案当然是鼎鼎大名的GitHub了. 5万多星推荐,100天让你从入门到精通,你值得拥有,点我进入查看
- 关于unity3D的学习感想
在老师布置团队项目后组长确定项目是做游戏是,我才接触的Unity3D游戏引擎. 因为一开始我没有接触过这类软件,更没有用过.所以作为一个新手,做好的办 法实在网上找教程.网上说Unity3D是由Uni ...
- 关于学习MMU的一点感想
MMU的一个主要服务是能把各个人物作为各自独立的程序在其自己的虚拟存储空间中运行. 虚拟存储器系统的一个重要特征是地址重定位.地址重定位是将处理器核产生的地址转换到主存的不同地址,转换由MMU硬件完成 ...
- 新人学习selenium哪些资源比较有帮助?
为什么学习selenium? selenium现在基本上成了页面自动化测试的标配,具体理由我在selenium 3.0发布这篇文章里已经说明过了.当一个东西成为标准以后,那么它的能量和潜力都是巨大的. ...
随机推荐
- SPOJ #11 Factorial
Counting trailing 0s of n! It is not very hard to figure out how to count it - simply count how many ...
- Saltstack系列2:Saltstack远程执行命令
命令 命令格式: salt '<操作目标>' <方法>[参数] 例: salt 'wx' cmd.run 'free -m' #查看被控主机内存使用情况 常用参数 针对< ...
- 无法找到类:java.lang.ClassNotFoundException: com.mysql.jdbc.driver
转载自:http://blog.csdn.net/huangbiao86/article/details/6428608 问题描述:连接数据库,而明明已经将mysql-connector-java-5 ...
- define宏定义中的#,##,@#及\符号
define宏定义中的#,##,@#及\符号 在#define中,标准只定义了#和##两种操作.#用来把参数转换成字符串,##则用来连接两个前后两个参数,把它们变成一个字符串. 1.# (string ...
- Linux下查看和添加环境变量
转自:http://blog.sina.com.cn/s/blog_688077cf01013qrk.html $PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您 ...
- 138. Copy List with Random Pointer
A linked list is given such that each node contains an additional random pointer which could point t ...
- 访问修饰符protected
protected(C# 参考) protected 关键字是一个成员访问修饰符. 受保护成员在其所在的类中可由派生类实例访问. 示例只有在通过派生类访问时,基类的受保护成员在派生类中才是可访问的. ...
- aptana studio 3 自动换行(无需插件)
菜单-Window-Preferences-Aptana Studio-Editors,勾选“Enable word wrap”,然后重启编辑器.
- IGS_学习笔记06_IREP发布客户化集成接口为Web Service(案例)
2015-01-03 Created By BaoXinjian
- IREP_SOA Integration WSDL概述(概念)
20150827 Created By BaoXinjian