曹昊
联系方式
手机:1506-219-8182 邮箱:[email protected]
教育背景
2014年毕业于常熟理工学院 学历:本科
工作经历
2014.7-2014.10 北京掌顺科技有限公司徐州分公司 unity3d程序实习生
2014.10-2015.3 新沂钟吾网络科技有限公司 cocos2d-x程序
2015.3-2015.11 上海乐加网络科技有限公司 unity3d程序
2015.11-2016.3 上海华燕房盟网络科技股份有限公司 unity3d工程师
项目经验
项目名: 云燕安家APP
使用工具: Unity游戏引擎 VS编辑器
使用语言: C#
软件功能: 手机看房
是否上线: 已上线
我所负责的部分: 1、把房子场景打包成AB包,切割,上传到服务器
2、从主界面,到下载楼盘,进入房型这个看房的流程
项目架构: 1、C/S架构,客户端从服务器上获取房子的具体数据包括信息数据(楼 盘所在的区,楼盘的名字,价格,物业等所有的信息数据)然后在手机 上显示给用户。
2、资源数据(比如楼盘周边环境的图片要从服务器上获取,要看的 楼盘的房子模型从服务器上获取)然后在手机上显示给用户。
3、服务器程序用PHP做了一个专门用来上传信息数据与资源数据的网 页。
项目模块: 1、UI状态机模块:用来切换界面。
2、封装的unity的www下载库:用来获取服务器的数据信息和资源信 息。
3、ASSETBUNDLE模块:把unity中的房子模型打包成AB包。
4、ASSETBUNDLE切割模块:用来把AB包切割成512kb大小的多个包,然 后上传。每个包的名字用每个包生成一个哈希字符串命名,每个包的名 字,大小,等信息记录在一个txt中,然后把这些文件用ftp工具上传 到服务器上。
6、下载切割包模块:从服务器上获取txt的名字,下载txt,解析txt 文本,根据解析出来的哈希,下载对应的包。
7、合成AB包模块:下载完成后,合成AB包,然后unity加载AB包, 切换到对应场景,就可以进入到房子模型里面了,然后第一人称控制器 就可以看房了。
8、MYJSON模块:此模块可以解析txt变成JSON格式,也可以,存储数据 为JSON格式,然后存储到本地。
项目名: LOWORLOWER
使用工具: Unity游戏引擎 VS编辑器
使用语言: C#
软件功能: 3D动作冒险收费单机游戏
是否上线: 已上线
我所负责的部分: 1、界面
2、背包的逻辑
3、打斗时的伤害飘字
4、部分打斗的逻辑代码
项目架构: 1、图形驱动和逻辑驱动分开,逻辑驱动的代码发消息给图形驱动的代 码,驱动图形的显示。
2、装备数据(包括伤害值,防御值,加血等),背包数据,等级数据, 关卡解锁数据,金币,以二进制或者txt的方式存在本地的临时目录 中。
3、角色的动画的名字和组合键等信息树结构生成成asset文件,然后拖 拽到人物模型上作为参数,以供敌人的AI使用或者玩家释放技能时,通 过组合键找到对应的动画的名字,然后播放对应的动画。
项目模块: 1、行为树模块:敌人的AI和不同组合键控制角色释放不同技能。
2、图形驱动模块:播放角色的动画。
3、逻辑驱动模块:接收事件,处理,发消息给图形驱动模块,驱动动 画。
4、碰撞检测模块:播放动画的时候,实时监测碰撞体,当检测到碰撞之 后,发消息给逻辑驱动,根据消息播放受击动画。
5、结算模块:胜利或失败之后,弹出结算界面,奖励金币,经验等。
6、场景加载模块:不同的关卡加载不同的场景,不同的场景创建怪物的 点不同,创建怪物的数量不同。所有的信息数据,是先写好的树的数据 结构,然后把这个脚本生成Asset文件,然后配置这个文件。配置好之 后,不同的关卡读取对应的Asset文件,然后解析数据,动态创建场景和 怪。
7、背包模块:杀死怪物之后,可以捡道具,放到背包中。
8、购买道具模块:通过金币购买道具。
9、商城模块:接的是九游的SDK,可以充钱买金币,买到的金币可以用 来买道具。
10、MYJSON模块:用来解析txt为JSON,或者创建JSON数据。
11、UI状态机模块:切换界面,都用这个状态机的库。
12、摇杆模块:曾经想把这个游戏做成PC版的,所以加上了摇杆控制模 块。
13、装备模块:装备有对应的属性及价格,增加人物的攻击力和防御 力,装备受等级限制,角色10级,穿戴不了11级的装备。当时做的只 是使用装备之后,人物的属性会改变,但是人物的外形不会拿着这把装 备,或穿戴这个装备。
项目名: 云燕家装软件
使用工具: Unity游戏引擎 VS编辑器
使用语言: C#
软件功能: 1、使用电脑创建房型,然后生成房子
2、在创建好的房子里,布置家居,墙面,灯,桌子,就是装修这个房 子。装修好之后,会根据使用的家具,生成价格清单。
3、保存这个装修,或者保存这个房子
4、收藏别人已经创建好的房型或者装修,如果你感兴趣
5、把家具模型上传到服务器,以供客户端使用
6、对家具模型进行换贴图,换材质,换SHADER修改模型属性,修改完 之后,再把家具模型上传到服务器上
是否上线: 未上线
我所负责的部分: 1、WPF界面
2、服务端某些接口(就是取数据库中的数据,发送给WPF端)
3、U3D端保存装修数据的部分逻辑
项目架构: 1、WPF端与U3D端UDP通信,进行消息的传递。U3D端作为客户端,WPF 端作为服务端。当加载房型,加载家具的时候,保存装修的时候,WPF端 发送命令给U3D端,U3D端根据接收的命令,执行对应的操作。
2、U3D端与服务器端是C/S架构。当U3D端接收到显示某个家具的命令 时,U3D从服务器上下载对应的家具的数据,然后组合成模型,显示出 来。
3、WPF端与服务器端也是C/S架构。WPF端从服务器上获取数据,或者 WPF端把数据上传到服务器上,存到数据库中。
项目模块: 1、WPF端嵌入U3D模块,使用UDP通信,WPF发送命令给U3D端控制场 景的切换,模型的显示等。
2、资源编辑模块:把家具模型解析成多个文件,一个树结构txt,然后 上传到服务器,树结构的txt的名字是这个文本文件的hash,然后这个 hash作为数据库家具表中的一个字段,这样就可以根据这个hash字段, 下载txt,然后解析txt,根据解析的数据,下载模型的对应的数据,然 后再根据解析的数据,把下载的模型数据合并成一个模型,在unity端 显示出来。在这个模块中,还可以在WPF端,对模型换材质,换 SHADER,调整大小等功能。
3、画房型模块:通过点画出房型的顶视图,然后把这些点的数据存储在 txt中,然后上传到服务器上。txt的名字使用哈希,这个哈希作为数据 库房型表中的一个字段。U3D端可以通过这个字段,下载对应的txt数 据,然后解析点的数据,生成房体。
4、装修模块:根据点的数据生成房体,在房体中放置家具,可以移动, 拖拽,放置,旋转等功能。然后把装修好的数据,生成树结构,生成一 个txt,名字是这个文件的hash,然后txt上传到服务器,hash传给WPF 端,WPF端再把对应的数据传给服务器,存到数据库中。
5、MYJSON模块:处理JSON数据。
6、模型解析模块:把模型FBX文件解析成一个JSON的模型树结构, MESH解析成二进制文件,MATERIAL解析成二进制文件,SHADER解析成二 进制文件,文件名以文件生成的哈希命名。
7、模型合成模块:下载对应的JSON的模型树结构txt文档,解析,然 后下载对应的MESH文件,MATERIAL文件,SHADER文件,然后根据树结 构,生成对应的模型。
8、画房型模块:通过画点,画成房型的顶视图样子。
9、生成房体模块:根据画的点,生成房体。
10、U3D端下载数据的模块:使用的是U3D提供的WWW下载,封装好的 库。
11、WPF端的HTTP下载数据的模块:把C#提供的异步http下载封装成 的库。不但可以从服务下载数据,也可以上传文件到服务器上。
12、服务器转发到七牛云存储模块:使用存储数据的服务器并不是我们 自己的服务器,我们自己的服务器充当转发的功能,当文件上传到服务 器上之后,服务器会调用七牛云存储的接口,把数据发到七牛上,减少 我们服务器的压力。
13、家具摆置模块:创建好的家具,拖动,移动,放置,旋转等功能。
14、操作记录模块:就是撤回的功能,回到上一步的操作。
15、登录注册模块,可以登录,可以注册,可以记住密码。