精通难:
大都会碰到以下问题
1 代码管理
基于组件式的开发,简单粗暴,但是MonoBehaviour本身是个伪Component,既有数据又有逻辑。在项目稍大一点,就会发现引用乱套,即使用了各种Manager还是无法很好的集中控制一类逻辑功能的脚本。
2 内存管理
Mono版本过低,GC本身效率就不高。加上一些api底层会生成额外如string之类的数据。一旦乱用,频繁会触发GC。如果对C#语言掌握不够,错误使用一些方便语法或高级特性也会导致额外内存分配。
3 资源管理
为了达到资源动态更新的目的使用Assetbundle,会发现一堆坑。Build,加载,释放等会遇到效率和内存的各种问题。需要不少时间去慢慢摸索,实践。
4 功能的不稳定
一般情况下,发布了新功能,大家别急于用 :)
5 入门易,很多开发者觉得自己已经掌握了unity的精髓,然后出了各种问题。
(以上都是个人观点,无责任。) 编辑器直观,所见即所得,所以简单,很快就能写个demo。
概念太多,能用的工具太多,可选择的太多,所以难。
就好比写字容易,但要写的一手漂亮的字体就。。。。。。 脚本简单但是美工难做啊 入门简单是因为u3d editor做得易用,精通难在于因易用而隐藏了更多实现细节和牺牲了部分灵活性。先不说精通,想学深点要做的也和其他技术差不多:掌握好基础知识,边实践边看文档,观摩优秀实现,造轮并改进。
说下我用u3d的经历吧。两三年前用u3d做了半年项目,仿2d toolkit和ngui(作者后被u3d收编,出u3d官方ui)插件造轮,用上itween和playmarker插件。因涉及custom editor及无专业游戏开发经验,整个过程遇坑无数。不过unity整个平台还是挺有意思的,editor学得真心酷炫。现在如果要为计算机视觉算法做复杂点的三维demo,一般就用u3d。c dll + u3d c# 配合,杠杠的!
页:
1
[2]