职业技能:
1:熟练C#语言(继承,封装。多态,抽象类(方法)和虚方法,c#的反射和特性,委托等)。
2:初步了解Java语言,c++语言。
3:初步了解AssetBundle的打包机制:
(1)依赖包重复问题
(2)图集重复问题
(3)程序通过Manifest文件寻找所有ab包的依赖关系。
4:了解Unity的一些资源管理。
5:了解Xml,Json,Protobuf的序列化与反序列化。
6:熟练UGUI的使用(三种渲染模式,以及UI控件的使用,屏幕适配等)。
(1)UGUI 的 Canvas的渲染模式:overla模式下,屏幕适配要调节CanvasScaler以及Match
各种渲染模式下的遮挡关系(Order in Layer)
7:熟练Unity3D中的一些常用的组件。
8:简单了解Scocket的Tcp,Udp协议的编程。
9:初步了解Lua热更新,Lua语言,Lua框架。
10:初步了解一些项目优化:
(1)Unity包大主要是因为Mono虚拟机的存在。
(2)Draw Call SetPassCall 的减少优化
资源上:包括在模型上减少面片数,声音(长的背景音乐采用压缩格式Compressed In Memory,短的按键音采用Decompress On Load格式即可)美工合并贴图以及材质,Mesh减少Draw Call的调用,减少重复资源以及Resources文件里的资源慎用
(3)渲染上:LOD技术(美工配合),遮挡剔除,光照贴图等
11:初步了解UI的基本框架,以及做UI模块逻辑时对UI的分列(层)管理达到后期方便维护。
12:了解一些设计模式,列如StrangeIoc模式,PureMVC,Mvc模式等。
StrangeIoc设计模式,降低脚本之间的耦合性[View(Meditar),Command,Model,Server]。
13:初步了解数据结构(线性表(顺序表,链表),栈,队列,二叉树等)。
14:初步了解3D数学,以及在开发中的应用。
15:初步了解UnityShader的编程。
16:了解Unity与Android的相互调用以及调试。
17:熟悉Unity3D中Mecanim系统以及老动画系统Animation。(利用状态机实现多种动画的融合)
2017直通美国NASCAR指环王挑战赛
一款赛车竞技游戏,分为双人对站模式,做任务模式。
项目职责:
1:主要负责客户端逻辑的实现。
2:整款游戏是基于StrangeIoc的,降低脚本之间的耦合性。
3:使用UGUI插件来完成游戏的UI界面实现。
4:使用AssetBundle跟新的方式的来完成UI界面以及资源的更新。
5:本款游戏的UI依据框架开发方便后期维护。
6:通过定义的协议进行与服务器的通信(Tcp)。
7: 通过xml,json进行对数据的序列化与反序列化。
8:游戏的控制方式通过陀螺仪以及按键方式。
项目对我的提高:
解决Tcp的粘抱问题(通过定义特殊的数据协议)。
使用Dotween插件时,注意:Dotween插件会将一些错误定义成警告了,导致程序的不可控,逻辑的代码不要写在Dotween插件的循环里。
通过StrangeIoc的框架每个模块之间只有一个中介者Command通过IEventDispatcher来进行模块间的通信来降低程序之间的耦合性。(达到UI与游戏逻辑的分离,模块之间的耦合性降低)
2:本游戏的UI窗口基于UI的框架,以方便后期维护,在框架中会封装一些经常用到的方法,之后打包成Dll文件,导入到Unity中方便开发。
项目经历
项目名称:无双三国
项目职责:团队开发
项目周期:9个月
项目简介:
一款卡牌类的游戏
项目职责:
1:主要负责客户端逻辑的实现。
2:整款游戏是基于PureMvc框架开发的,降低脚本之间的耦合性。
3:使用NGUI插件来完成游戏的UI界面实现。
4:复杂一些UI层上的逻辑开发
无线电科普基地
一款以电影火星救援为背景的为上海无线电部门制作的项目,VR互动的项目。
项目职责:
1:主要负责游戏逻辑的实现。
2:Unity与六轴电钢的通信以及逻辑方向盘SDK的接入,通信等。
3:安卓SDK的接入(需要Unity调用安卓系统打开Word,PPT的功能)。