unity技术总结开始~~~~2016.1.4

   看了一个面试视屏感觉不错,是时候对症下药总结记录一番了。马上毕业要找工作了。

   http://www.jikexueyuan.com/course/1284.html

   知识储备的梳理:

初级

一、

  职责的一个基本分类:

     UI效果的展现

     逻辑数据的管理

      游戏内容的部署

          项目架构的搭建

二、所需要具备的知识 

有 C#语法 与 数据结构算法  ====>编程功底

         ect:如语言基础. 弱引用,强引用,值类型,引用类型 ,GC ,stringbuilder等

    面向对象特性:继承、封装、多态。 代码风格,重构、聚合和组合,关联、引用 等 。

UML图的使用与实际开发  

设计模式: 六大原则、单例、观察者、原型、工厂、状态驱动、目标驱动、行为树、事件驱动等技术,

                      数据结构和算法: 数据结构. 数组、链表、堆栈、树、图(对于一些策略性游戏) 等等

基础算法: 递归思想、算法复杂度、常用算法 A*等

unity3D 引擎的使用   ====>项目经验

                       脚本开发 :生命周期、协程Coroutines、Destroy

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

物理:Raycast、碰撞检测原理、Mesh Collider 

插件使用: NGUI、uGUI、Xffect、Itween、DoTween、行为树、Playermaker及拓展等

                        理解和掌握

3D 与数学知识   ====>数学基础

英语阅读能力  ====>学习能力

                     翻译API 点积 、叉积、矩阵、向量

 

中级,除了能实现逻辑上的功能外,还要在游戏模块上担任负责人的角色,也要具备一定的开发经验能够独挡一面

 前期 : SDK接入、物理实现(demo)

 中期  :美术接口、模块搭建

 后期  :调整需求、优化、版本发布、维护

    这些不同的内容匹配着不同的内容和经验

         基本模块上的拓展

  * 数据结构和算法的实现 : 手动实现一个对象池,使用算法优化项目,AI决策

           如何使用状态机实现一个人物的动作流程控制

          项目管理: 版本库的使用(Git/SVN/Bitbucket)

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

          图形学: OpenGL使用、 Shader开发,(物体的破碎,效果)

    unity引擎的拓展

          SDK:动态连接库、AR、Kinect、Oculus Rift

 模块的使用 :Animation、Animator、LightMap、AssetBundle

          项目优化: 如何实现内存优化,Drawcall、场景加载

          手写插件: 拓展编辑器的开发。

   敏捷开发的理解、对游戏的理解

  面试常见的 如 :

      内存的优化,游戏的运行过程中如何 释放游戏的资源(神启的资源代码设计采用了GC 构析 弱引用 和 unity自身资源卸载结合的方式)

       http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html

      内存加密、代码安全(游戏在开发的过程中,其他协作人员如美术,修改某些效果时,也不会修改某些核心的代码)

            实现成动态连接库

      四元数 、欧拉角

      设计模式

      Unity项目热更新: 脚本方式的热更新,ulua热更新,C# L#

 

posted @ 2016-01-04 06:50  bambom  阅读(327)  评论(0编辑  收藏  举报