Unity工程师知识储备

2020-12-24 20:07发布

岗位职责:

  • 初级: UI效果的展现 
    逻辑数据的管理

  • 中级:游戏内容的部署

  • 高级:项目架构的搭建

中级工程师的岗位职责:

  • 前期:SDK接入,物理实现 
    中期:美术接口,模块搭建 
    后期:调整需求,优化,发布,维护


知识储备:

  • 数据结构:数据,链表,堆栈,数,图等等;

  • 基础算法:递归思想,算法复杂度,常用算法(A*算法)

  • 项目实现:对象池,效率优化,AI决策etc


编程语言:

  • C#语言基础:值类型与引用类型,反射机制

  • 面向对象特性:封装,继承,多态,集合和组合区别

  • 代码风格:什么是重构,编程习惯

  • 设计模式:六大原则,单例,观察者模式,状态机等等;

  • 项目管理:版本库的使用(git、SVN,Bitbucket etc)

  • 网络技术:Socket通讯,RPC原理,第三方接入

  • 图形学:OpenGL的使用,Shader开发


Unity引擎的使用:

  • 脚本开发:生命周期,协程Coroutines,Destroy等等

  • 2D:Altas图集,图片格式与压缩

  • 物理:Raycast,碰撞检测原理,MechCollider

  • 插件的使用:NGUI,DOTWeen,Playmaker

  • SDK:动态链接库,AR,Kinect,OCulus Rift etc…

  • 模块掌握:Animator,LightMap,AssetBundle

  • 项目优化:内存优化,Drawcall,场景加载 
    手写插件:拓展编辑器的开发


高频面试题:

  • 内存优化,Unity是如何释放资源的

  • 内存加密,代码安全

  • 写一个完整的对象池

  • 四元数和欧拉角的区别

  • 用过哪些设计模式

  • Unity项目的热更新





作者:Czhenya

链接:https://czhenya.blog.csdn.net/article/details/78385826

来源:CSDN
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。