作为一个Unity游戏开发程序员,你到底需要掌握哪些技能?

许多学习Unity开发的小伙伴们可能在初入公司时不知道该做些什么,这篇文章读完后大家们可能会对这一方面的疑惑有所感悟。

一、Unity作为3D游戏引擎必须要掌握固定流水线和可编程流水线,因为涉及到矩阵变换的知识点,在项目开发中会用得到的,如果读者不懂的可以查阅资料。

二、Unity作为3D引擎有自己的坐标系,在此强调一点,虽然它的图形API分为DirectX和OpenGL,但是它的世界坐标系是左手坐标系。

三、另外要掌握的坐标系有屏幕坐标系,UI坐标系,视口坐标,包括它们的原点是在哪个位置,因为在项目开发中也会涉及到以上三个坐标系之间的变换。

四、函数的执行顺序,比如Awake,OnEnable,Start 等,以及3D碰撞体的执行效率,比如球体,胶囊体,立方体,Mesh等等。

五、内存优化还需要涉及到图片的格式,不带Alpha通道的图片采用jpg格式,带有Alpha通道的采用png格式,这是一种处理方式,另外一种处理方式就是将Alpha通道单独拿出来,所有的图片都是jpg格式,然后用带有Alpha通道的图片跟jpg格式文件进行结合使用。这样也可以优化图片的大小。

六、在架构设计方面,就要注意了,代码的编写,比如常用的设计模式,工厂模式,单例模式,MVC模式,FSM模式,观察者模式等,这些模式作为开发者必须要掌握的。

七、接下来就是Shader编写了,在这里给读者推荐一个编辑器工具Shader Forge编辑器,对于一些材质渲染非常好用,这个可以作为读者学习Shader的工具。

作为一个Unity游戏开发程序员,你到底需要掌握哪些技能?

八、另外对于C#中定义的String,StringBuilder或者List,ArrayList等它们之间的区分要搞清楚。

九、不同机型的适配处理,技术验证等。

十、热更新技术的实现,市面上应用比较广的是ulua作为脚本语言的框架设计。

十一、作为客户端开发者也需要了解一些网络方面的知识,比如tcp,udp,http这些协议处理的方式。

十二、作为渲染场景的后处理方式,比如Bloom,Blur,HDR,SSAO,PSSM等等。

十三、C#中的事件监听,委托的使用也要熟练掌握。

十四、协程与多线程的区别。

十五、文本文件的加载,比如json,xml,csv,二进制等等。

最后给大家推荐我的Unity学习开发分享群:785372460 有免费Unity学习资料,还有各种趣味案例等,欢迎各位加群!


分享到:


相關文章: