给想要入门Unity的新人一点小建议
Unity可以说真几年是火了起来,这一两年的手游和页游平台上Unity作品数量激增.而Unity官方也是不断的推出新版本增加新功能,完善老功能.接下来我给想要入行Unity的新人们的一些建议和知识:
**欢迎加入我们的Unity问题交流群:1146128932**
**Unity方面的知识**
1、知道什么是游戏引擎,Unity又是个什么东西。他能做什么东西。最好找一本介绍游戏引擎的书看一下,可以系统的理解一下什么是游戏引擎,能做什么。
2、全面的了解unity,把unity的各个功能模版都看一遍,最好能找个例子测试一下你看完这个模块之后学习到了哪些知识点。通过对unity各个模块的学习你就知道一个游戏引擎有什么构成,需要哪些知识,你需要学习哪些知识了。(比如游戏的输入交互接口input、用户的交互gui,官方的ugui可以学习一下他们的设计思想,音频系统audio,粒子系统particle,动画系统Mecanim,地编系统terrain,物理系统physics,导航网格系统navmesh,渲染系统包括shader,开发者自定义窗口组件的editor系统,资源的打包管理和加载系统等等)找一本unity的书,一般书里面都会详细介绍,书里面没有的你也可以去网络上面找资料或者去官网上面查阅资料学习。
如果是unity新手的话,可以先去unity官网照着教程做几个小游戏练练手,熟悉u3d一些基本编程规范与思想,对之后编程非常有益。如果不满足于这些,可以去github上fork一些比较成熟的u3d游戏项目看看他们的源码,会有较多的提升。当然一些优秀的u3d的插件例如behavior designer,itween的源码也值得观赏。编码之前,可以给游戏进行一些模块划分,以及适当的进行一些类划分。性能优化方面例如涉及到字符串拼接的地方可以用stringBuilder代替String,可以减少不少内存垃圾;缓存常用组件以避免反复寻找…具体在csdn上搜一下u3d代码优化内存优化都有的~编码的时候注意一下类的可扩展性,可以省去不少后期维护的麻烦。尽量将不同功能的代码写在不同组件之中,提高组件的复用性。另外,可以使用虚函数来避免重复代码,重复代码写的时候不觉得怎么样,ctrl+c,crtl+v就OK啦,但后期维护起来就得改很多处,非常麻烦而且容易出幺蛾子。
(Unity的开发者社区:https://unity.cn/articles)
**给初学者的一些建议:**
1.合理划分代码模块,以利于长期维护。根据策划需求、程序人员分工合理划分项目模块,不要把所有代码都堆砌在一起,比如:战斗模块、热更新及sdk模块、资源加载模块、UI与逻辑模块(这个是代码量比较大的,还得按具体模块再细分)、网络与协议模块、策划表格的序列化模块、引用第三份库封装模块、lua模块等等,我说的这只是个参考,你自己模块要根据实际项目情况划分,既要考虑到策划将来会加需求,还得尽量让程序之间工作依赖尽量少。
2.制定严格的代码、美术资源、策划表格标准和审查方法。比如哪些代码要写在lua中,linq、foreach 是否可以用、哪些函数不可以写在update中、字符串连接怎么做;模型贴图格式是什么、分辨率多少、导入方式是什么、动画采样帧多少、粒子个数限制多少、碰撞采样什么方式;表格内key相互引用要用工具检测、运行时采用什么方式加载、要不要序列化、语言表是否支持符号替换等。这方面细节很多,既要自己总结,还得去看看网络上其他人的总结经验。
3.开发功能与代码重构同步,添加美术资源与资源优化并行。针对初级开发人员、容易提交糟糕代码的人员进行必须的培训,不要害怕伤害他自尊,大家相互监督才能共同进步。针对美术资源、shader等最好设置一个有经验的人来专门负责,也就是要有TA岗位,如果人员不足,也尽量抽调人来兼职做。
4.很多问题归根结底还是经验不足,没有制定合适的开发流程。所以除了开发游戏功能之外,可以在业余时间,针对团队、个人在相关技术上的不足,辅修相关知识,比如软件工程、图形学等,参与一些同业的分享会议,找一些有经验的大神来分享经验,使用比较好插件、sdk、框架,比如腾讯WeTest、UWA、MVVM框架等,没必要全部从新造车。
**如果对Unity感兴趣,或者想交流Unity方便的知识,欢迎加入我们的Unity问题交流群:1146128932 里面有很多大佬,也特别活跃。**
页:
[1]